Skip to content
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

perf: do not put closures on the queue #57

Merged
merged 3 commits into from Jan 20, 2021

Conversation

ForbesLindesay
Copy link
Owner

This makes the benchmarks slightly faster than version 5.0.0, and way faster than version 6.0.0

This makes the benchmarks approximately match version 5.0.0
@rollingversions
Copy link

rollingversions bot commented Jan 20, 2021

Change Log for throat (6.0.0 → 6.0.1)

Performance Improvements

  • Optimise the queue again

    6.0.0 was significantly slower than 5.0.0. This restores the balance. Each of these benchmarks is run 10x times, in order to make the numbers reasonably stable for comparison.

    5.0.0 benchmark:

    limit=10
    10 promises: 1.118ms
    100 promises: 31.778ms
    1000 promises: 22.806ms
    10000 promises: 59.501ms
    100000 promises: 941.285ms
    1000000 promises: 11.569s
    limit=1000000
    10 promises: 0.177ms
    100 promises: 0.425ms
    1000 promises: 4.904ms
    10000 promises: 84.251ms
    100000 promises: 1.081s
    1000000 promises: 13.656s
    

    6.0.0 benchmark:

    limit=10
    10 promises: 1.122ms
    100 promises: 18.4ms
    1000 promises: 34.742ms
    10000 promises: 86.504ms
    100000 promises: 1.475s
    1000000 promises: 20.298s
    limit=1000000
    10 promises: 0.264ms
    100 promises: 0.424ms
    1000 promises: 5.6ms
    10000 promises: 93.45ms
    100000 promises: 1.466s
    1000000 promises: 20.109s
    

    6.0.1 benchmark:

    limit=10
    10 promises: 1.217ms
    100 promises: 4.433ms
    1000 promises: 49.928ms
    10000 promises: 67.578ms
    100000 promises: 958.481ms
    1000000 promises: 10.542s
    limit=1000000
    10 promises: 0.118ms
    100 promises: 0.424ms
    1000 promises: 4.993ms
    10000 promises: 84.649ms
    100000 promises: 1.163s
    1000000 promises: 13.297s
    

Edit changelog

@coveralls
Copy link

coveralls commented Jan 20, 2021

Coverage Status

Coverage remained the same at 100.0% when pulling f95b825 on perf/match-old-benchmark into f8ced5e on master.

@ForbesLindesay ForbesLindesay enabled auto-merge (squash) January 20, 2021 20:21
@ForbesLindesay ForbesLindesay merged commit 8fd7a02 into master Jan 20, 2021
@ForbesLindesay ForbesLindesay deleted the perf/match-old-benchmark branch January 20, 2021 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants