diff options
Diffstat (limited to 'benchmark/buffer_get.yml')
-rw-r--r-- | benchmark/buffer_get.yml | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/benchmark/buffer_get.yml b/benchmark/buffer_get.yml index bb9ca7e94a..9e1f99d64e 100644 --- a/benchmark/buffer_get.yml +++ b/benchmark/buffer_get.yml @@ -1,10 +1,25 @@ prelude: | # frozen_string_literal: true Warning[:experimental] = false - buffer = IO::Buffer.new(32, IO::Buffer::MAPPED) - string = "\0" * 32 + string = "The quick brown fox jumped over the lazy dog." + buffer = IO::Buffer.for(string) + format = [:U32, :U32, :U32, :U32] benchmark: - buffer.get_value: | - buffer.get_value(:U32, 0) string.unpack1: | - string.unpack1("N") + [ + string.unpack1("N"), + string.unpack1("N", offset: 4), + string.unpack1("N", offset: 8), + string.unpack1("N", offset: 12), + ] + buffer.get_value: | + [ + buffer.get_value(:U32, 0), + buffer.get_value(:U32, 4), + buffer.get_value(:U32, 8), + buffer.get_value(:U32, 12), + ] + buffer.get_values: | + buffer.get_values(format, 0) + string.unpack: | + string.unpack("NNNN") |