Skip to content

Commit d3c432a

Browse files
author
H.Merijn Brand - Tux
committed
Add lua test/time
perl csv-easy-xs 50000 0.018 0.015 perl csv-easy-pp 50000 0.018 0.016 perl csv-xsbc 50000 0.033 0.031 perl csv-test-xs 50000 0.038 0.036 perl csv-test-pp 50000 0.509 0.507 perl csv-pegex 50000 1.302 1.299 ruby1.9 csv-ruby 50000 0.143 0.134 ruby2.0 csv-ruby 50000 0.144 0.125 python2 csv-python2 50000 0.015 0.013 python3 csv-python3 50000 0.027 0.024 lua csv-lua 50000 0.012 0.010 go csv-go 50000 0.172 0.157 java csvJava 50000 0.091 0.087
1 parent a9f8af4 commit d3c432a

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

csv-lua.lua

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/lua
2+
3+
local lpeg = require "lpeg"
4+
local field = '"' * lpeg.Cs (((lpeg.P (1) - '"')
5+
+ lpeg.P'""' / '"')^0) * '"'
6+
+ lpeg.C ((1 - lpeg.S',\n"')^0)
7+
8+
local record = field * (',' * field)^0 * (lpeg.P'\n' + -1)
9+
10+
function csv (s)
11+
return lpeg.match (record, s)
12+
end
13+
14+
-- Count total number of fields from stdin
15+
local n = 0
16+
for l in io.stdin:lines () do
17+
local rec = { csv (l) }
18+
n = n + #rec
19+
end
20+
print (n)

time.pl

+12-10
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,16 @@ sub usage {
3030
close $fh;
3131

3232
my %lang = (
33-
# ext prog args
34-
0 => [ ".rb", "ruby1.9", ],
35-
1 => [ ".rb", "ruby2.0", ],
36-
2 => [ ".py", "python2", ],
37-
3 => [ ".py", "python3", ],
38-
5 => [ ".pl", "perl", ],
39-
6 => [ ".pl", "perl6", "-Ilib" ],
40-
8 => [ ".go", "go", "run" ],
41-
9 => [ "", "java", "-cp csvJava.jar:opencsv-2.3.jar csvJava" ],
33+
# ext prog args
34+
0 => [ ".rb", "ruby1.9", ],
35+
1 => [ ".rb", "ruby2.0", ],
36+
2 => [ ".py", "python2", ],
37+
3 => [ ".py", "python3", ],
38+
5 => [ ".pl", "perl", ],
39+
6 => [ ".pl", "perl6", "-Ilib" ],
40+
7 => [ ".lua", "lua" ],
41+
8 => [ ".go", "go", "run" ],
42+
9 => [ "", "java", "-cp csvJava.jar:opencsv-2.3.jar csvJava" ],
4243
);
4344
my @test = (
4445
# lang irc script
@@ -60,8 +61,9 @@ sub usage {
6061
[ 1, 0, "csv-ruby" ],
6162
[ 2, 0, "csv-python2" ],
6263
[ 3, 0, "csv-python3" ],
63-
[ 9, 0, "csvJava" ],
64+
[ 7, 0, "csv-lua" ],
6465
[ 8, 0, "csv-go" ],
66+
[ 9, 0, "csvJava" ],
6567
);
6668
my %start;
6769
foreach my $v (keys %lang) {

0 commit comments

Comments
 (0)