Skip to content

Commit 1834c5e

Browse files
committed
benchmark
1 parent e49108a commit 1834c5e

2 files changed

Lines changed: 124 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
prelude: |
2+
require "tempfile"
3+
str52 = ((?a..?z).to_a+(?A..?Z).to_a).join
4+
$tempfile = Tempfile.open("sparse_lf") do |f|
5+
f.set_encoding("ascii-8bit", crlf_newline: false)
6+
10000.times { f.puts str52 }
7+
f
8+
end
9+
$tempfile.open
10+
$binarymode = open($tempfile.path, "rb")
11+
$with_conversion = open($tempfile.path, "r:us-ascii:utf-8")
12+
at_exit do
13+
$binarymode.close
14+
$with_conversion.close
15+
end
16+
17+
benchmark:
18+
- name: read_binary
19+
script: |
20+
$binarymode.rewind
21+
$binarymode.read
22+
- name: read_with_conversion
23+
script: |
24+
$with_conversion.rewind
25+
$with_conversion.read
26+
- name: readlines_binary
27+
script: |
28+
$binarymode.rewind
29+
$binarymode.readlines
30+
- name: readlines_with_conversion
31+
script: |
32+
$with_conversion.rewind
33+
$with_conversion.readlines
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
prelude: |
2+
require "tempfile"
3+
str1k = "a" * 1024
4+
str26 = (?a..?z).to_a.join
5+
$no_newline_tempfile = Tempfile.open("no_lf") do |f|
6+
900.times { f.write str1k }
7+
f
8+
end
9+
$sparse_newline_tempfile = Tempfile.open("sparse_lf") do |f|
10+
f.set_encoding("ascii-8bit", crlf_newline: true)
11+
12500.times { f.puts str26 }
12+
f
13+
end
14+
$dense_newline_tempfile = Tempfile.open("dense_lf") do |f|
15+
f.set_encoding("ascii-8bit", crlf_newline: true)
16+
23000.times { f.puts "" }
17+
f
18+
end
19+
$no_newline_tempfile.open
20+
$sparse_newline_tempfile.open
21+
$dense_newline_tempfile.open
22+
$no_newline_binarymode = open($no_newline_tempfile.path, "rb")
23+
$no_newline_textmode = open($no_newline_tempfile.path, "rt")
24+
$no_newline_defaultmode = open($no_newline_tempfile.path, "r")
25+
$sparse_newline_binarymode = open($sparse_newline_tempfile.path, "rb")
26+
$sparse_newline_textmode = open($sparse_newline_tempfile.path, "rt")
27+
$sparse_newline_defaultmode = open($sparse_newline_tempfile.path, "r")
28+
$dense_newline_binarymode = open($dense_newline_tempfile.path, "rb")
29+
$dense_newline_textmode = open($dense_newline_tempfile.path, "rt")
30+
$dense_newline_defaultmode = open($dense_newline_tempfile.path, "r")
31+
at_exit do
32+
$no_newline_binarymode.close
33+
$no_newline_textmode.close
34+
$no_newline_defaultmode.close
35+
$sparse_newline_binarymode.close
36+
$sparse_newline_textmode.close
37+
$sparse_newline_defaultmode.close
38+
$dense_newline_binarymode.close
39+
$dense_newline_textmode.close
40+
$dense_newline_defaultmode.close
41+
end
42+
43+
benchmark:
44+
- name: read_binary_no_newline
45+
script: |
46+
$no_newline_binarymode.rewind
47+
$no_newline_binarymode.read
48+
- name: read_text_no_newline
49+
script: |
50+
$no_newline_textmode.rewind
51+
$no_newline_textmode.read
52+
- name: read_default_no_newline
53+
script: |
54+
$no_newline_defaultmode.rewind
55+
$no_newline_defaultmode.read
56+
- name: readlines_binary_no_newline
57+
script: |
58+
$no_newline_binarymode.rewind
59+
$no_newline_binarymode.readlines
60+
- name: readlines_text_no_newline
61+
script: |
62+
$no_newline_textmode.rewind
63+
$no_newline_textmode.readlines
64+
- name: readlines_default_no_newline
65+
script: |
66+
$no_newline_defaultmode.rewind
67+
$no_newline_defaultmode.readlines
68+
- name: readlines_binary_sparse_newline
69+
script: |
70+
$sparse_newline_binarymode.rewind
71+
$sparse_newline_binarymode.readlines
72+
- name: readlines_text_sparse_newline
73+
script: |
74+
$sparse_newline_textmode.rewind
75+
$sparse_newline_textmode.readlines
76+
- name: readlines_default_sparse_newline
77+
script: |
78+
$sparse_newline_defaultmode.rewind
79+
$sparse_newline_defaultmode.readlines
80+
- name: readlines_binary_dense_newline
81+
script: |
82+
$dense_newline_binarymode.rewind
83+
$dense_newline_binarymode.readlines
84+
- name: readlines_text_dense_newline
85+
script: |
86+
$dense_newline_textmode.rewind
87+
$dense_newline_textmode.readlines
88+
- name: readlines_default_dense_newline
89+
script: |
90+
$dense_newline_defaultmode.rewind
91+
$dense_newline_defaultmode.readlines

0 commit comments

Comments
 (0)