PistonDevelopers / meta

A DSL parsing library for human readable text documents
MIT License
90 stars 5 forks source link

Added `FastSelect` #327

Closed bvssvni closed 5 years ago

bvssvni commented 5 years ago
bvssvni commented 5 years ago

Here are some benchmark improvements from Dyon (notice 15% improvement in n-body example):

Before:
test tests::bench_add           ... bench:  23,370,430 ns/iter (+/- 6,292,248)
test tests::bench_add_n         ... bench:   8,814,879 ns/iter (+/- 1,359,657)
test tests::bench_array         ... bench:  11,879,055 ns/iter (+/- 2,697,625)
test tests::bench_call          ... bench:  13,072,413 ns/iter (+/- 3,370,086)
test tests::bench_len           ... bench:   2,176,826 ns/iter (+/- 136,482)
test tests::bench_main          ... bench:     299,687 ns/iter (+/- 53,040)
test tests::bench_min           ... bench:  14,469,992 ns/iter (+/- 3,835,717)
test tests::bench_min_fn        ... bench:  43,401,323 ns/iter (+/- 6,710,536)
test tests::bench_n_body        ... bench:  75,065,452 ns/iter (+/- 12,708,316)
test tests::bench_object        ... bench:  21,639,170 ns/iter (+/- 7,189,541)
test tests::bench_primes        ... bench:  29,982,865 ns/iter (+/- 3,606,776)
test tests::bench_primes_trad   ... bench:  24,320,931 ns/iter (+/- 6,114,391)
test tests::bench_push_array    ... bench:  18,733,542 ns/iter (+/- 4,165,234)
test tests::bench_push_in       ... bench:  66,457,695 ns/iter (+/- 8,669,171)
test tests::bench_push_link     ... bench:  11,427,963 ns/iter (+/- 2,380,994)
test tests::bench_push_link_for ... bench:   5,901,677 ns/iter (+/- 480,103)
test tests::bench_push_link_go  ... bench:  11,798,052 ns/iter (+/- 1,891,728)
test tests::bench_push_str      ... bench:  43,954,933 ns/iter (+/- 7,969,792)
test tests::bench_sum           ... bench:   5,435,093 ns/iter (+/- 677,464)
test tests::bench_threads_go    ... bench:  25,486,326 ns/iter (+/- 4,504,612)
test tests::bench_threads_no_go ... bench:  20,342,591 ns/iter (+/- 3,716,807)

After:
test tests::bench_add           ... bench:  22,149,597 ns/iter (+/- 5,232,800)
test tests::bench_add_n         ... bench:   8,474,701 ns/iter (+/- 1,445,343)
test tests::bench_array         ... bench:  11,338,114 ns/iter (+/- 2,637,142)
test tests::bench_call          ... bench:  12,102,457 ns/iter (+/- 2,729,034)
test tests::bench_len           ... bench:   1,840,179 ns/iter (+/- 61,850)
test tests::bench_main          ... bench:     257,209 ns/iter (+/- 55,735)
test tests::bench_min           ... bench:  12,743,883 ns/iter (+/- 2,488,932)
test tests::bench_min_fn        ... bench:  39,756,667 ns/iter (+/- 8,162,767)
test tests::bench_n_body        ... bench:  65,152,575 ns/iter (+/- 12,773,469)
test tests::bench_object        ... bench:  19,818,535 ns/iter (+/- 2,339,217)
test tests::bench_primes        ... bench:  27,663,035 ns/iter (+/- 4,686,645)
test tests::bench_primes_trad   ... bench:  23,503,676 ns/iter (+/- 4,972,649)
test tests::bench_push_array    ... bench:  18,531,599 ns/iter (+/- 3,979,187)
test tests::bench_push_in       ... bench:  67,209,091 ns/iter (+/- 10,463,720)
test tests::bench_push_link     ... bench:  12,111,539 ns/iter (+/- 3,388,809)
test tests::bench_push_link_for ... bench:   6,296,659 ns/iter (+/- 2,329,146)
test tests::bench_push_link_go  ... bench:  10,752,265 ns/iter (+/- 1,748,103)
test tests::bench_push_str      ... bench:  43,215,650 ns/iter (+/- 8,152,176)
test tests::bench_sum           ... bench:   5,215,766 ns/iter (+/- 508,432)
test tests::bench_threads_go    ... bench:  21,946,820 ns/iter (+/- 3,955,733)
test tests::bench_threads_no_go ... bench:  19,895,186 ns/iter (+/- 4,087,344)
bvssvni commented 5 years ago

Some notes: