[rubygems/rubygems] Use a constant empty tar header to avoid extra allocations
[ruby.git] / benchmark / buffer_get.yml
blob9e1f99d64e8643df1f7abd265730a80201b5f667
1 prelude: |
2   # frozen_string_literal: true
3   Warning[:experimental] = false
4   string = "The quick brown fox jumped over the lazy dog."
5   buffer = IO::Buffer.for(string)
6   format = [:U32, :U32, :U32, :U32]
7 benchmark:
8   string.unpack1: |
9     [
10       string.unpack1("N"),
11       string.unpack1("N", offset: 4),
12       string.unpack1("N", offset: 8),
13       string.unpack1("N", offset: 12),
14     ]
15   buffer.get_value: |
16     [
17       buffer.get_value(:U32, 0),
18       buffer.get_value(:U32, 4),
19       buffer.get_value(:U32, 8),
20       buffer.get_value(:U32, 12),
21     ]
22   buffer.get_values: |
23     buffer.get_values(format, 0)
24   string.unpack: |
25     string.unpack("NNNN")