Skip to content

Fix the sepBy benchmarks again #180

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 5, 2022
Merged

Fix the sepBy benchmarks again #180

merged 1 commit into from
Apr 5, 2022

Conversation

jamesdbrock
Copy link
Member

Fix the sepBy benchmarks for real this time.

@jamesdbrock
Copy link
Member Author

digit 10000

runParser many digit 10000
mean   = 11.14 ms
stddev = 8.92 ms
min    = 7.25 ms
max    = 65.52 ms
runParser manyRec digit 10000
mean   = 5.56 ms
stddev = 1.65 ms
min    = 4.77 ms
max    = 14.40 ms
runParser Array.many digit 10000
mean   = 64.34 ms
stddev = 6.93 ms
min    = 58.95 ms
max    = 83.97 ms
StringParser manyRec CodePoints.anyDigit 10000
mean   = 6.64 ms
stddev = 4.41 ms
min    = 4.50 ms
max    = 20.64 ms
StringParser manyRec CodeUnits.anyDigit 10000
mean   = 4.90 ms
stddev = 630.66 μs
min    = 4.40 ms
max    = 10.78 ms
Regex.match \d* 10000
mean   = 323.91 μs
stddev = 139.91 μs
min    = 287.00 μs
max    = 1.62 ms

string 100000

runParser many string
mean   = 24.37 ms
stddev = 7.54 ms
min    = 19.33 ms
max    = 59.37 ms
runParser manyRec string
mean   = 16.35 ms
stddev = 6.09 ms
min    = 12.72 ms
max    = 49.01 ms
Regex.match literal*
mean   = 423.92 μs
stddev = 115.71 μs
min    = 391.82 μs
max    = 1.75 ms

sepBy 1000

runParser sepBy 1000
mean   = 924.88 μs
stddev = 381.98 μs
min    = 702.05 μs
max    = 3.47 ms
runParser sepByRec 1000
mean   = 837.10 μs
stddev = 93.28 μs
min    = 763.50 μs
max    = 1.35 ms

sepBy 10000

runParser sepBy 10000
mean   = 33.38 ms
stddev = 9.67 ms
min    = 25.23 ms
max    = 65.35 ms
runParser sepByRec 10000
mean   = 8.85 ms
stddev = 1.12 ms
min    = 8.30 ms
max    = 16.39 ms

chainl 10000

runParser chainl 10000
mean   = 12.07 ms
stddev = 4.70 ms
min    = 7.38 ms
max    = 40.17 ms
runParser chainlRec 10000
mean   = 5.10 ms
stddev = 1.20 ms
min    = 4.61 ms
max    = 12.79 ms

chainr 1000

runParser chainr 1000
mean   = 810.88 μs
stddev = 158.97 μs
min    = 684.18 μs
max    = 1.91 ms
runParser chainrRec 1000
mean   = 5.93 ms
stddev = 585.82 μs
min    = 5.30 ms
max    = 10.70 ms

chainr 10000

runParser chainr 10000
mean   = 29.43 ms
stddev = 6.60 ms
min    = 20.09 ms
max    = 47.48 ms
runParser chainrRec 10000
mean   = 599.47 ms
stddev = 17.10 ms
min    = 577.06 ms
max    = 671.28 ms

manyTill 1000

runParser manyTill 1000
mean   = 635.28 μs
stddev = 144.54 μs
min    = 539.10 μs
max    = 1.43 ms
runParser manyTillRec 1000
mean   = 559.08 μs
stddev = 112.14 μs
min    = 492.07 μs
max    = 1.34 ms
runParser manyTill_ 1000
mean   = 659.28 μs
stddev = 132.95 μs
min    = 562.13 μs
max    = 1.28 ms
runParser manyTillRec_ 1000
mean   = 581.10 μs
stddev = 110.11 μs
min    = 519.20 μs
max    = 1.32 ms

manyTill 10000

runParser manyTill 10000
mean   = 10.86 ms
stddev = 4.02 ms
min    = 8.18 ms
max    = 38.19 ms
runParser manyTillRec 10000
mean   = 5.82 ms
stddev = 494.70 μs
min    = 5.37 ms
max    = 8.96 ms
runParser manyTill_ 10000
mean   = 10.99 ms
stddev = 3.15 ms
min    = 8.82 ms
max    = 29.96 ms
runParser manyTillRec_ 10000
mean   = 6.65 ms
stddev = 3.91 ms
min    = 5.60 ms
max    = 33.37 ms

mediumJson

runParser json mediumJson
mean   = 3.83 ms
stddev = 1.36 ms
min    = 3.16 ms
max    = 21.10 ms
StringParser.runParser json mediumJson
mean   = 7.21 ms
stddev = 2.34 ms
min    = 6.51 ms
max    = 34.97 ms

largeJson

runParser json largeJson
mean   = 13.34 ms
stddev = 4.92 ms
min    = 11.80 ms
max    = 49.35 ms
StringParser.runParser json largeJson
mean   = 23.99 ms
stddev = 1.09 ms
min    = 23.04 ms
max    = 33.60 ms

@jamesdbrock jamesdbrock merged commit caad792 into main Apr 5, 2022
@jamesdbrock jamesdbrock deleted the benchrec3 branch April 5, 2022 09:59
@jamesdbrock jamesdbrock mentioned this pull request Apr 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant