summaryrefslogtreecommitdiff
path: root/benchmark/buffer_get.yml
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/buffer_get.yml')
-rw-r--r--benchmark/buffer_get.yml25
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")