-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathREADME.speed
100 lines (87 loc) · 5.51 KB
/
README.speed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
In the reports I daily send/sent to the raku development channel on IRC,
the lines I show like
Rakudo version 2017.09-513-g2c4868b85 - MoarVM version 2017.09.1-622-g6e9e89ee
csv-test-xs-20 0.441 - 0.450
csv-ip5xs 1.155 - 1.166
test-t 3.067 - 3.094
test 11.436 - 11.599
csv-parser 11.566 - 11.789
csv-ip5xs-20 13.860 - 14.259
test-t-20 --race 19.341 - 19.486
test-t-20 56.192 - 57.096
The first line obviously shows the version of Rakudo the raku tests were run
under. Then there are several lines with the test combination tested followed
by the runtime of that case in seconds (lower is better). Each line reports
two timings: the fastest and the slowest of multiple runs (currently 2).
See time.pl and time-twice.pl
csv-test-xs: perl5 + Text::CSV_XS (perl5 XS)
csv-ip5xs : raku + Inline::Perl5 + Text::CSV_XS (raku + perl5 XS)
test : raku + an unoptimized early draft of Text::CSV (pure raku)
test-t : raku + the full-featured current Text::CSV (pure raku)
csv-parser : raku + Tony-O's CSV::Parser (pure raku)
If a case has -20 in the name, it is the same test methos as without, but it
runs the test on a CSV file that is 20 times bigger than the default test file.
The default test file has 10000 lines of CSV with 5 fields each, the big one
has 200000 lines.
The graphs just show the history of test-t
For the speedtests, see https://bitbucket.org/ewanhiggs/csv-game
sh$ for i in $(seq 1 1000000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv
sh$ time perl csv.pl < /tmp/hello.csv
sh test.sh
i686 i686 x68_64 x68_64 x68_64 x68_64
20141007 20141014 20141105 20141111 20141117 20150102
------------------ -------- -------- -------- -------- -------- --------
Text::CSV::Easy_XS 0.022 0.021 0.037 0.018 0.017 0.017
Text::CSV::Easy_PP 0.018 0.022 0.028 0.016 0.016 0.016
Text::CSV_XS 0.038 0.039 0.046 0.039 0.036 0.036
Text::CSV_PP 0.651 0.535 0.533 0.516 0.510 0.510
Pegex::CSV 1.947 1.420 1.387 1.371 1.348 1.356
csv.pl 12.543 8.437 9.152 9.130 8.715 8.249
csv_gram.pl - - - - - 19.501
test.pl 256.985 201.621 71.847 72.221 65.279 59.042
test-t.pl - - - 72.024 65.202 59.869
20150109 20150110 20150114 20150204 20150212 20150218
------------------ -------- -------- -------- -------- -------- --------
Text::CSV::Easy_XS 0.015 0.015 0.015 0.023 0.016 0.016
Text::CSV::Easy_PP 0.016 0.016 0.017 0.021 0.016 0.016
Text::CSV_XS 0.037 0.038 0.039 0.040 0.039 0.038
Text::CSV_PP 0.520 0.532 0.518 0.518 0.514 0.519
Pegex::CSV 1.360 1.367 1.348 1.382 1.356 1.416
csv.pl 8.571 8.436 8.332 8.314 8.133 8.137
csv-ip5xs - - - 9.223 8.950 9.230
csv-ip5pp - - - - 9.812 9.778
csv_gram.pl 14.107 13.965 14.023 13.860 13.426 13.544
test.pl 40.916 41.197 39.751 39.805 38.733 39.084
test-t.pl 41.407 40.535 38.384 42.080 39.502 38.119
20150222 20150223 20150305 20150309 20150331 20150422
------------------ -------- -------- -------- -------- -------- --------
Text::CSV::Easy_XS 0.018 0.016 0.017 0.016 0.016 0.016
Text::CSV::Easy_PP 0.017 0.016 0.017 0.017 0.016 0.016
Text::CSV_XS bindc 0.033 0.033 0.033 0.032 0.033 0.033
Text::CSV_XS 0.040 0.037 0.039 0.038 0.038 0.040
Text::CSV_PP 0.519 0.518 0.517 0.514 0.527 0.522
Pegex::CSV 1.357 1.370 1.360 1.384 1.340 1.351
csv.pl 8.442 6.663 7.161 6.917 6.669 7.102
csv-ip5xs 9.425 9.076 13.256 13.128 15.870 17.087
csv-ip5xsio - - - - 15.349 16.704
csv-ip5pp 9.983 9.845 13.973 13.711 16.489 17.815
csv_gram.pl 13.197 12.596 13.474 13.226 13.440 13.876
test.pl 41.505 39.047 40.162 38.633 39.618 40.937
test-t.pl 40.628 37.194 36.658 35.000 35.903 37.067
csv-parser.pl - - - - 389.192 24.922
20150426 20150618 20150623 20150713
------------------ -------- -------- -------- --------
Text::CSV::Easy_XS 0.016 0.017 0.016 0.017
Text::CSV::Easy_PP 0.017 0.016 0.016 0.017
Text::CSV_XS bindc 0.034 0.033 0.033 0.033
Text::CSV_XS 0.039 0.036 0.042 0.039
Text::CSV_PP 0.525 0.505 0.508 0.512
Pegex::CSV 1.340 1.311 1.279 1.317
csv.pl 7.270 7.763 7.927 8.650
csv-ip5xs 17.267 16.728 16.016 x
csv-ip5xsio 17.243 16.742 16.061 x
csv-ip5pp 18.218 17.496 16.411 x
csv_gram.pl 14.226 14.541 14.538 16.157
test.pl 44.541 43.057 42.986 46.251
test-t.pl 39.887 41.265 43.348 46.427
csv-parser.pl 25.712 25.919 23.854 30.226