Closed bvssvni closed 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)
Some notes:
.optimize()
call wherever Piston-Meta is used.