Skip to content

Instantly share code, notes, and snippets.

@Elabajaba
Last active November 2, 2021 08:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Elabajaba/114e6c76b6963bf128bd39491a384f8a to your computer and use it in GitHub Desktop.
Save Elabajaba/114e6c76b6963bf128bd39491a384f8a to your computer and use it in GitHub Desktop.
parking_lot Mutex (and condvar) vs std
name parkinglot ns/iter parkinglot2 ns/iter diff ns/iter diff % speedup
factorial::factorial_iterator 4,770,288 4,744,640 -25,648 -0.54% x 1.01
factorial::factorial_join 612,058 605,968 -6,090 -1.00% x 1.01
factorial::factorial_par_iter 620,543 617,613 -2,930 -0.47% x 1.00
factorial::factorial_recursion 901,868 894,631 -7,237 -0.80% x 1.01
fibonacci::fibonacci_iterative 4 4 0 0.00% x 1.00
fibonacci::fibonacci_join_1_2 4,321,595 4,316,633 -4,962 -0.11% x 1.00
fibonacci::fibonacci_join_2_1 4,515,480 4,531,070 15,590 0.35% x 1.00
fibonacci::fibonacci_recursive 5,072,856 5,087,872 15,016 0.30% x 1.00
fibonacci::fibonacci_split_iterative 181,527 180,708 -819 -0.45% x 1.00
fibonacci::fibonacci_split_recursive 489,668 486,532 -3,136 -0.64% x 1.01
find::size1::parallel_find_common 14,493 14,488 -5 -0.03% x 1.00
find::size1::parallel_find_first 13,094 13,151 57 0.44% x 1.00
find::size1::parallel_find_last 661,599 660,471 -1,128 -0.17% x 1.00
find::size1::parallel_find_middle 319,822 323,885 4,063 1.27% x 0.99
find::size1::parallel_find_missing 827,513 829,159 1,646 0.20% x 1.00
find::size1::serial_find_common 1,393 1,401 8 0.57% x 0.99
find::size1::serial_find_first 0 0 0 NaN% x NaN
find::size1::serial_find_last 5,014,921 5,014,200 -721 -0.01% x 1.00
find::size1::serial_find_middle 3,318,890 3,308,587 -10,303 -0.31% x 1.00
find::size1::serial_find_missing 3,831,413 3,816,678 -14,735 -0.38% x 1.00
join_microbench::increment_all 115,460 115,180 -280 -0.24% x 1.00
join_microbench::increment_all_atomized 372,776 373,079 303 0.08% x 1.00
join_microbench::increment_all_max 124,864 124,023 -841 -0.67% x 1.01
join_microbench::increment_all_min 38,598 38,593 -5 -0.01% x 1.00
join_microbench::increment_all_serialized 14,979 14,603 -376 -2.51% x 1.03
join_microbench::join_recursively 218,039 218,989 950 0.44% x 1.00
life::bench::generations 47,337,136 47,357,603 20,467 0.04% x 1.00
life::bench::par_bridge_generations 352,704,472 403,422,379 50,717,907 14.38% x 0.87
life::bench::par_iter_generations 14,345,445 14,311,451 -33,994 -0.24% x 1.00
map_collect::i_mod_10_to_i::with_collect 5,137,441 5,312,877 175,436 3.41% x 0.97
map_collect::i_mod_10_to_i::with_fold 599,640 595,289 -4,351 -0.73% x 1.01
map_collect::i_mod_10_to_i::with_fold_vec 709,269 713,069 3,800 0.54% x 0.99
map_collect::i_mod_10_to_i::with_linked_list_collect 12,208,160 12,222,952 14,792 0.12% x 1.00
map_collect::i_mod_10_to_i::with_linked_list_collect_vec 4,922,974 5,098,406 175,432 3.56% x 0.97
map_collect::i_mod_10_to_i::with_linked_list_collect_vec_sized 5,149,885 5,262,781 112,896 2.19% x 0.98
map_collect::i_mod_10_to_i::with_linked_list_map_reduce_vec_sized 5,115,283 5,307,097 191,814 3.75% x 0.96
map_collect::i_mod_10_to_i::with_mutex 72,289,631 71,198,528 -1,091,103 -1.51% x 1.02
map_collect::i_mod_10_to_i::with_mutex_vec 9,761,293 9,760,314 -979 -0.01% x 1.00
map_collect::i_mod_10_to_i::with_vec_vec_sized 5,557,942 5,527,905 -30,037 -0.54% x 1.01
map_collect::i_to_i::with_collect 8,436,917 7,779,472 -657,445 -7.79% x 1.08
map_collect::i_to_i::with_fold 19,842,487 19,783,323 -59,164 -0.30% x 1.00
map_collect::i_to_i::with_fold_vec 19,235,543 18,124,957 -1,110,586 -5.77% x 1.06
map_collect::i_to_i::with_linked_list_collect 14,122,565 14,872,879 750,314 5.31% x 0.95
map_collect::i_to_i::with_linked_list_collect_vec 13,456,150 13,762,098 305,948 2.27% x 0.98
map_collect::i_to_i::with_linked_list_collect_vec_sized 8,264,771 8,084,853 -179,918 -2.18% x 1.02
map_collect::i_to_i::with_linked_list_map_reduce_vec_sized 8,097,515 8,100,526 3,011 0.04% x 1.00
map_collect::i_to_i::with_mutex 125,972,684 127,277,392 1,304,708 1.04% x 0.99
map_collect::i_to_i::with_mutex_vec 29,289,772 29,120,898 -168,874 -0.58% x 1.01
map_collect::i_to_i::with_vec_vec_sized 8,173,770 8,229,837 56,067 0.69% x 0.99
matmul::bench::bench_matmul_strassen 12,297,298 12,250,690 -46,608 -0.38% x 1.00
mergesort::bench::merge_sort_par_bench 2,656,595 2,649,745 -6,850 -0.26% x 1.00
mergesort::bench::merge_sort_seq_bench 24,612,166 24,478,831 -133,335 -0.54% x 1.01
nbody::bench::nbody_par_bridge 1,398,488 1,381,487 -17,001 -1.22% x 1.01
nbody::bench::nbody_par_iter 1,383,408 1,387,717 4,309 0.31% x 1.00
nbody::bench::nbody_parreduce 7,064,418 7,055,821 -8,597 -0.12% x 1.00
nbody::bench::nbody_seq 32,638,792 31,324,578 -1,314,214 -4.03% x 1.04
pythagoras::euclid_faux_serial 31,601,963 30,333,518 -1,268,445 -4.01% x 1.04
pythagoras::euclid_parallel_full 5,834,157 5,841,236 7,079 0.12% x 1.00
pythagoras::euclid_parallel_one 1,711,025 1,712,753 1,728 0.10% x 1.00
pythagoras::euclid_parallel_outer 1,682,297 1,675,655 -6,642 -0.39% x 1.00
pythagoras::euclid_parallel_weightless 1,728,108 1,725,933 -2,175 -0.13% x 1.00
pythagoras::euclid_serial 28,513,101 29,699,437 1,186,336 4.16% x 0.96
quicksort::bench::quick_sort_par_bench 4,846,984 4,831,517 -15,467 -0.32% x 1.00
quicksort::bench::quick_sort_seq_bench 29,515,647 28,584,754 -930,893 -3.15% x 1.03
quicksort::bench::quick_sort_splitter 5,632,833 5,717,088 84,255 1.50% x 0.99
sieve::bench::sieve_chunks 2,995,018 3,005,396 10,378 0.35% x 1.00
sieve::bench::sieve_parallel 652,418 645,086 -7,332 -1.12% x 1.01
sieve::bench::sieve_serial 3,493,989 3,451,567 -42,422 -1.21% x 1.01
sort::demo_merge_sort_ascending 187,301 (2135 MB/s) 165,826 (2412 MB/s) -21,475 -11.47% x 1.13
sort::demo_merge_sort_big 4,357,784 (1468 MB/s) 4,602,590 (1390 MB/s) 244,806 5.62% x 0.95
sort::demo_merge_sort_descending 156,409 (2557 MB/s) 143,798 (2781 MB/s) -12,611 -8.06% x 1.09
sort::demo_merge_sort_mostly_ascending 273,287 (1463 MB/s) 279,270 (1432 MB/s) 5,983 2.19% x 0.98
sort::demo_merge_sort_mostly_descending 293,233 (1364 MB/s) 292,318 (1368 MB/s) -915 -0.31% x 1.00
sort::demo_merge_sort_random 709,263 (563 MB/s) 711,956 (561 MB/s) 2,693 0.38% x 1.00
sort::demo_merge_sort_strings 2,627,312 (304 MB/s) 2,656,598 (301 MB/s) 29,286 1.11% x 0.99
sort::demo_quick_sort_big 2,934,518 (2180 MB/s) 2,270,730 (2818 MB/s) -663,788 -22.62% x 1.29
sort::demo_quick_sort_mostly_ascending 9,133,588 (43 MB/s) 9,115,324 (43 MB/s) -18,264 -0.20% x 1.00
sort::demo_quick_sort_mostly_descending 5,297,901 (75 MB/s) 5,878,047 (68 MB/s) 580,146 10.95% x 0.90
sort::demo_quick_sort_random 687,100 (582 MB/s) 697,682 (573 MB/s) 10,582 1.54% x 0.98
sort::demo_quick_sort_strings 1,932,301 (414 MB/s) 1,978,950 (404 MB/s) 46,649 2.41% x 0.98
sort::par_sort_ascending 154,115 (2595 MB/s) 145,810 (2743 MB/s) -8,305 -5.39% x 1.06
sort::par_sort_big 3,807,863 (1680 MB/s) 3,925,209 (1630 MB/s) 117,346 3.08% x 0.97
sort::par_sort_descending 240,262 (1664 MB/s) 248,371 (1610 MB/s) 8,109 3.38% x 0.97
sort::par_sort_expensive 26,489,721 (15 MB/s) 26,205,238 (15 MB/s) -284,483 -1.07% x 1.01
sort::par_sort_mostly_ascending 350,886 (1139 MB/s) 346,362 (1154 MB/s) -4,524 -1.29% x 1.01
sort::par_sort_mostly_descending 381,087 (1049 MB/s) 379,533 (1053 MB/s) -1,554 -0.41% x 1.00
sort::par_sort_random 406,212 (984 MB/s) 405,331 (986 MB/s) -881 -0.22% x 1.00
sort::par_sort_strings 933,938 (856 MB/s) 939,565 (851 MB/s) 5,627 0.60% x 0.99
sort::par_sort_unstable_ascending 23,186 (17251 MB/s) 23,225 (17222 MB/s) 39 0.17% x 1.00
sort::par_sort_unstable_big 1,585,657 (4036 MB/s) 1,500,795 (4264 MB/s) -84,862 -5.35% x 1.06
sort::par_sort_unstable_descending 35,231 (11353 MB/s) 34,020 (11757 MB/s) -1,211 -3.44% x 1.04
sort::par_sort_unstable_expensive 45,323,413 (8 MB/s) 44,873,388 (8 MB/s) -450,025 -0.99% x 1.01
sort::par_sort_unstable_mostly_ascending 195,962 (2041 MB/s) 195,467 (2046 MB/s) -495 -0.25% x 1.00
sort::par_sort_unstable_mostly_descending 219,090 (1825 MB/s) 220,422 (1814 MB/s) 1,332 0.61% x 0.99
sort::par_sort_unstable_random 245,112 (1631 MB/s) 245,568 (1628 MB/s) 456 0.19% x 1.00
sort::par_sort_unstable_strings 1,260,547 (634 MB/s) 1,203,467 (664 MB/s) -57,080 -4.53% x 1.05
str_split::parallel_space_char 239,643 238,633 -1,010 -0.42% x 1.00
str_split::parallel_space_fn 192,934 194,242 1,308 0.68% x 0.99
str_split::serial_space_char 1,763,180 1,731,823 -31,357 -1.78% x 1.02
str_split::serial_space_fn 1,393,709 1,334,669 -59,040 -4.24% x 1.04
str_split::serial_space_str 1,417,226 1,366,850 -50,376 -3.55% x 1.04
tsp::bench::dj10 21,295,817 20,383,656 -912,161 -4.28% x 1.04
vec_collect::vec_i::with_collect 807,770 803,711 -4,059 -0.50% x 1.01
vec_collect::vec_i::with_collect_into_vec 808,786 804,826 -3,960 -0.49% x 1.00
vec_collect::vec_i::with_collect_into_vec_reused 806,008 805,827 -181 -0.02% x 1.00
vec_collect::vec_i::with_fold 7,470,533 7,828,495 357,962 4.79% x 0.95
vec_collect::vec_i::with_linked_list_collect_vec 4,927,923 5,024,560 96,637 1.96% x 0.98
vec_collect::vec_i::with_linked_list_collect_vec_sized 5,459,987 5,489,607 29,620 0.54% x 0.99
vec_collect::vec_i::with_linked_list_map_reduce_vec_sized 5,410,378 5,423,999 13,621 0.25% x 1.00
vec_collect::vec_i::with_vec_vec_sized 5,249,675 5,193,812 -55,863 -1.06% x 1.01
vec_collect::vec_i_filtered::with_collect 5,981,742 5,842,065 -139,677 -2.34% x 1.02
vec_collect::vec_i_filtered::with_fold 9,499,664 9,473,568 -26,096 -0.27% x 1.00
vec_collect::vec_i_filtered::with_linked_list_collect_vec 6,283,168 6,297,636 14,468 0.23% x 1.00
vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized 6,924,365 6,979,064 54,699 0.79% x 0.99
vec_collect::vec_i_filtered::with_linked_list_map_reduce_vec_sized 5,874,750 5,839,849 -34,901 -0.59% x 1.01
vec_collect::vec_i_filtered::with_vec_vec_sized 5,675,818 5,621,368 -54,450 -0.96% x 1.01
name stdmutex ns/iter stdmutex2 ns/iter diff ns/iter diff % speedup
factorial::factorial_iterator 4,959,300 4,761,023 -198,277 -4.00% x 1.04
factorial::factorial_join 523,651 513,357 -10,294 -1.97% x 1.02
factorial::factorial_par_iter 524,242 519,457 -4,785 -0.91% x 1.01
factorial::factorial_recursion 892,127 892,333 206 0.02% x 1.00
fibonacci::fibonacci_iterative 4 4 0 0.00% x 1.00
fibonacci::fibonacci_join_1_2 4,357,188 4,368,639 11,451 0.26% x 1.00
fibonacci::fibonacci_join_2_1 4,486,353 4,507,898 21,545 0.48% x 1.00
fibonacci::fibonacci_recursive 6,094,000 5,890,144 -203,856 -3.35% x 1.03
fibonacci::fibonacci_split_iterative 183,363 182,770 -593 -0.32% x 1.00
fibonacci::fibonacci_split_recursive 498,057 498,097 40 0.01% x 1.00
find::size1::parallel_find_common 15,518 14,086 -1,432 -9.23% x 1.10
find::size1::parallel_find_first 14,619 12,147 -2,472 -16.91% x 1.20
find::size1::parallel_find_last 681,061 667,616 -13,445 -1.97% x 1.02
find::size1::parallel_find_middle 329,448 323,221 -6,227 -1.89% x 1.02
find::size1::parallel_find_missing 834,752 834,198 -554 -0.07% x 1.00
find::size1::serial_find_common 1,777 1,716 -61 -3.43% x 1.04
find::size1::serial_find_first 0 0 0 NaN% x NaN
find::size1::serial_find_last 3,960,285 3,848,957 -111,328 -2.81% x 1.03
find::size1::serial_find_middle 2,625,655 2,540,006 -85,649 -3.26% x 1.03
find::size1::serial_find_missing 3,733,340 3,614,137 -119,203 -3.19% x 1.03
join_microbench::increment_all 121,503 118,143 -3,360 -2.77% x 1.03
join_microbench::increment_all_atomized 380,530 381,506 976 0.26% x 1.00
join_microbench::increment_all_max 127,378 127,151 -227 -0.18% x 1.00
join_microbench::increment_all_min 41,188 41,268 80 0.19% x 1.00
join_microbench::increment_all_serialized 13,812 13,834 22 0.16% x 1.00
join_microbench::join_recursively 221,121 220,921 -200 -0.09% x 1.00
life::bench::generations 47,289,993 45,514,489 -1,775,504 -3.75% x 1.04
life::bench::par_bridge_generations 398,641,896 398,936,007 294,111 0.07% x 1.00
life::bench::par_iter_generations 14,476,211 14,460,004 -16,207 -0.11% x 1.00
map_collect::i_mod_10_to_i::with_collect 4,954,079 4,924,076 -30,003 -0.61% x 1.01
map_collect::i_mod_10_to_i::with_fold 598,291 594,692 -3,599 -0.60% x 1.01
map_collect::i_mod_10_to_i::with_fold_vec 717,991 720,275 2,284 0.32% x 1.00
map_collect::i_mod_10_to_i::with_linked_list_collect 11,644,457 12,622,085 977,628 8.40% x 0.92
map_collect::i_mod_10_to_i::with_linked_list_collect_vec 4,756,610 4,842,217 85,607 1.80% x 0.98
map_collect::i_mod_10_to_i::with_linked_list_collect_vec_sized 4,963,705 5,107,773 144,068 2.90% x 0.97
map_collect::i_mod_10_to_i::with_linked_list_map_reduce_vec_sized 4,916,350 4,903,672 -12,678 -0.26% x 1.00
map_collect::i_mod_10_to_i::with_mutex 70,655,648 66,414,651 -4,240,997 -6.00% x 1.06
map_collect::i_mod_10_to_i::with_mutex_vec 9,801,222 9,758,897 -42,325 -0.43% x 1.00
map_collect::i_mod_10_to_i::with_vec_vec_sized 5,403,419 5,385,638 -17,781 -0.33% x 1.00
map_collect::i_to_i::with_collect 7,722,275 7,651,377 -70,898 -0.92% x 1.01
map_collect::i_to_i::with_fold 19,948,506 19,669,983 -278,523 -1.40% x 1.01
map_collect::i_to_i::with_fold_vec 19,587,931 18,024,715 -1,563,216 -7.98% x 1.09
map_collect::i_to_i::with_linked_list_collect 16,895,915 14,552,277 -2,343,638 -13.87% x 1.16
map_collect::i_to_i::with_linked_list_collect_vec 12,746,958 12,828,380 81,422 0.64% x 0.99
map_collect::i_to_i::with_linked_list_collect_vec_sized 7,662,734 7,852,920 190,186 2.48% x 0.98
map_collect::i_to_i::with_linked_list_map_reduce_vec_sized 7,822,771 7,781,086 -41,685 -0.53% x 1.01
map_collect::i_to_i::with_mutex 125,346,431 124,393,259 -953,172 -0.76% x 1.01
map_collect::i_to_i::with_mutex_vec 29,558,290 29,275,111 -283,179 -0.96% x 1.01
map_collect::i_to_i::with_vec_vec_sized 8,042,247 8,096,267 54,020 0.67% x 0.99
matmul::bench::bench_matmul_strassen 11,825,501 11,734,483 -91,018 -0.77% x 1.01
mergesort::bench::merge_sort_par_bench 2,547,974 2,554,621 6,647 0.26% x 1.00
mergesort::bench::merge_sort_seq_bench 23,526,517 24,614,443 1,087,926 4.62% x 0.96
nbody::bench::nbody_par_bridge 1,428,661 1,415,678 -12,983 -0.91% x 1.01
nbody::bench::nbody_par_iter 1,416,416 1,410,191 -6,225 -0.44% x 1.00
nbody::bench::nbody_parreduce 7,115,217 7,096,740 -18,477 -0.26% x 1.00
nbody::bench::nbody_seq 32,582,597 30,982,762 -1,599,835 -4.91% x 1.05
pythagoras::euclid_faux_serial 31,877,544 30,483,757 -1,393,787 -4.37% x 1.05
pythagoras::euclid_parallel_full 5,840,019 5,848,875 8,856 0.15% x 1.00
pythagoras::euclid_parallel_one 1,738,248 1,739,453 1,205 0.07% x 1.00
pythagoras::euclid_parallel_outer 1,694,710 1,696,021 1,311 0.08% x 1.00
pythagoras::euclid_parallel_weightless 1,744,021 1,751,725 7,704 0.44% x 1.00
pythagoras::euclid_serial 30,200,381 28,977,347 -1,223,034 -4.05% x 1.04
quicksort::bench::quick_sort_par_bench 4,858,827 4,836,169 -22,658 -0.47% x 1.00
quicksort::bench::quick_sort_seq_bench 29,697,944 30,225,664 527,720 1.78% x 0.98
quicksort::bench::quick_sort_splitter 5,669,384 5,595,817 -73,567 -1.30% x 1.01
sieve::bench::sieve_chunks 3,151,830 3,029,594 -122,236 -3.88% x 1.04
sieve::bench::sieve_parallel 591,630 586,295 -5,335 -0.90% x 1.01
sieve::bench::sieve_serial 3,472,077 3,468,856 -3,221 -0.09% x 1.00
sort::demo_merge_sort_ascending 204,053 (1960 MB/s) 120,782 (3311 MB/s) -83,271 -40.81% x 1.69
sort::demo_merge_sort_big 4,744,189 (1349 MB/s) 4,312,657 (1484 MB/s) -431,532 -9.10% x 1.10
sort::demo_merge_sort_descending 198,607 (2014 MB/s) 160,637 (2490 MB/s) -37,970 -19.12% x 1.24
sort::demo_merge_sort_mostly_ascending 295,114 (1355 MB/s) 271,980 (1470 MB/s) -23,134 -7.84% x 1.09
sort::demo_merge_sort_mostly_descending 313,496 (1275 MB/s) 299,783 (1334 MB/s) -13,713 -4.37% x 1.05
sort::demo_merge_sort_random 707,414 (565 MB/s) 703,923 (568 MB/s) -3,491 -0.49% x 1.00
sort::demo_merge_sort_strings 2,657,788 (301 MB/s) 2,645,989 (302 MB/s) -11,799 -0.44% x 1.00
sort::demo_quick_sort_big 2,806,455 (2280 MB/s) 2,998,007 (2134 MB/s) 191,552 6.83% x 0.94
sort::demo_quick_sort_mostly_ascending 9,054,381 (44 MB/s) 9,190,425 (43 MB/s) 136,044 1.50% x 0.99
sort::demo_quick_sort_mostly_descending 5,033,959 (79 MB/s) 4,895,054 (81 MB/s) -138,905 -2.76% x 1.03
sort::demo_quick_sort_random 668,757 (598 MB/s) 675,464 (592 MB/s) 6,707 1.00% x 0.99
sort::demo_quick_sort_strings 1,955,412 (409 MB/s) 1,937,099 (412 MB/s) -18,313 -0.94% x 1.01
sort::par_sort_ascending 123,828 (3230 MB/s) 123,731 (3232 MB/s) -97 -0.08% x 1.00
sort::par_sort_big 3,751,283 (1706 MB/s) 3,859,736 (1658 MB/s) 108,453 2.89% x 0.97
sort::par_sort_descending 196,827 (2032 MB/s) 191,441 (2089 MB/s) -5,386 -2.74% x 1.03
sort::par_sort_expensive 26,052,276 (15 MB/s) 25,931,653 (15 MB/s) -120,623 -0.46% x 1.00
sort::par_sort_mostly_ascending 339,437 (1178 MB/s) 333,907 (1197 MB/s) -5,530 -1.63% x 1.02
sort::par_sort_mostly_descending 375,007 (1066 MB/s) 365,840 (1093 MB/s) -9,167 -2.44% x 1.03
sort::par_sort_random 388,595 (1029 MB/s) 385,452 (1037 MB/s) -3,143 -0.81% x 1.01
sort::par_sort_strings 870,455 (919 MB/s) 868,430 (921 MB/s) -2,025 -0.23% x 1.00
sort::par_sort_unstable_ascending 31,319 (12771 MB/s) 30,074 (13300 MB/s) -1,245 -3.98% x 1.04
sort::par_sort_unstable_big 1,504,641 (4253 MB/s) 1,457,802 (4390 MB/s) -46,839 -3.11% x 1.03
sort::par_sort_unstable_descending 43,490 (9197 MB/s) 41,712 (9589 MB/s) -1,778 -4.09% x 1.04
sort::par_sort_unstable_expensive 45,409,203 (8 MB/s) 45,661,813 (8 MB/s) 252,610 0.56% x 0.99
sort::par_sort_unstable_mostly_ascending 182,422 (2192 MB/s) 183,021 (2185 MB/s) 599 0.33% x 1.00
sort::par_sort_unstable_mostly_descending 196,268 (2038 MB/s) 190,202 (2103 MB/s) -6,066 -3.09% x 1.03
sort::par_sort_unstable_random 225,459 (1774 MB/s) 216,017 (1851 MB/s) -9,442 -4.19% x 1.04
sort::par_sort_unstable_strings 1,201,973 (665 MB/s) 1,197,751 (667 MB/s) -4,222 -0.35% x 1.00
str_split::parallel_space_char 242,780 243,063 283 0.12% x 1.00
str_split::parallel_space_fn 196,173 196,045 -128 -0.07% x 1.00
str_split::serial_space_char 1,783,765 1,915,266 131,501 7.37% x 0.93
str_split::serial_space_fn 1,150,384 1,188,487 38,103 3.31% x 0.97
str_split::serial_space_str 1,404,852 1,457,593 52,741 3.75% x 0.96
tsp::bench::dj10 21,076,897 20,897,952 -178,945 -0.85% x 1.01
vec_collect::vec_i::with_collect 804,766 808,986 4,220 0.52% x 0.99
vec_collect::vec_i::with_collect_into_vec 806,212 809,037 2,825 0.35% x 1.00
vec_collect::vec_i::with_collect_into_vec_reused 800,798 809,408 8,610 1.08% x 0.99
vec_collect::vec_i::with_fold 7,292,935 7,418,606 125,671 1.72% x 0.98
vec_collect::vec_i::with_linked_list_collect_vec 4,765,345 4,731,133 -34,212 -0.72% x 1.01
vec_collect::vec_i::with_linked_list_collect_vec_sized 5,341,508 5,245,643 -95,865 -1.79% x 1.02
vec_collect::vec_i::with_linked_list_map_reduce_vec_sized 5,298,097 5,236,591 -61,506 -1.16% x 1.01
vec_collect::vec_i::with_vec_vec_sized 5,214,016 5,108,902 -105,114 -2.02% x 1.02
vec_collect::vec_i_filtered::with_collect 5,767,876 5,687,849 -80,027 -1.39% x 1.01
vec_collect::vec_i_filtered::with_fold 9,267,530 9,548,247 280,717 3.03% x 0.97
vec_collect::vec_i_filtered::with_linked_list_collect_vec 6,198,016 6,107,293 -90,723 -1.46% x 1.01
vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized 6,715,265 6,670,021 -45,244 -0.67% x 1.01
vec_collect::vec_i_filtered::with_linked_list_map_reduce_vec_sized 5,638,581 5,644,184 5,603 0.10% x 1.00
vec_collect::vec_i_filtered::with_vec_vec_sized 5,512,260 5,462,348 -49,912 -0.91% x 1.01
name stdmutex ns/iter parkinglot ns/iter diff ns/iter diff % speedup
factorial::factorial_iterator 4,959,300 4,770,288 -189,012 -3.81% x 1.04
factorial::factorial_join 523,651 612,058 88,407 16.88% x 0.86
factorial::factorial_par_iter 524,242 620,543 96,301 18.37% x 0.84
factorial::factorial_recursion 892,127 901,868 9,741 1.09% x 0.99
fibonacci::fibonacci_iterative 4 4 0 0.00% x 1.00
fibonacci::fibonacci_join_1_2 4,357,188 4,321,595 -35,593 -0.82% x 1.01
fibonacci::fibonacci_join_2_1 4,486,353 4,515,480 29,127 0.65% x 0.99
fibonacci::fibonacci_recursive 6,094,000 5,072,856 -1,021,144 -16.76% x 1.20
fibonacci::fibonacci_split_iterative 183,363 181,527 -1,836 -1.00% x 1.01
fibonacci::fibonacci_split_recursive 498,057 489,668 -8,389 -1.68% x 1.02
find::size1::parallel_find_common 15,518 14,493 -1,025 -6.61% x 1.07
find::size1::parallel_find_first 14,619 13,094 -1,525 -10.43% x 1.12
find::size1::parallel_find_last 681,061 661,599 -19,462 -2.86% x 1.03
find::size1::parallel_find_middle 329,448 319,822 -9,626 -2.92% x 1.03
find::size1::parallel_find_missing 834,752 827,513 -7,239 -0.87% x 1.01
find::size1::serial_find_common 1,777 1,393 -384 -21.61% x 1.28
find::size1::serial_find_first 0 0 0 NaN% x NaN
find::size1::serial_find_last 3,960,285 5,014,921 1,054,636 26.63% x 0.79
find::size1::serial_find_middle 2,625,655 3,318,890 693,235 26.40% x 0.79
find::size1::serial_find_missing 3,733,340 3,831,413 98,073 2.63% x 0.97
join_microbench::increment_all 121,503 115,460 -6,043 -4.97% x 1.05
join_microbench::increment_all_atomized 380,530 372,776 -7,754 -2.04% x 1.02
join_microbench::increment_all_max 127,378 124,864 -2,514 -1.97% x 1.02
join_microbench::increment_all_min 41,188 38,598 -2,590 -6.29% x 1.07
join_microbench::increment_all_serialized 13,812 14,979 1,167 8.45% x 0.92
join_microbench::join_recursively 221,121 218,039 -3,082 -1.39% x 1.01
life::bench::generations 47,289,993 47,337,136 47,143 0.10% x 1.00
life::bench::par_bridge_generations 398,641,896 352,704,472 -45,937,424 -11.52% x 1.13
life::bench::par_iter_generations 14,476,211 14,345,445 -130,766 -0.90% x 1.01
map_collect::i_mod_10_to_i::with_collect 4,954,079 5,137,441 183,362 3.70% x 0.96
map_collect::i_mod_10_to_i::with_fold 598,291 599,640 1,349 0.23% x 1.00
map_collect::i_mod_10_to_i::with_fold_vec 717,991 709,269 -8,722 -1.21% x 1.01
map_collect::i_mod_10_to_i::with_linked_list_collect 11,644,457 12,208,160 563,703 4.84% x 0.95
map_collect::i_mod_10_to_i::with_linked_list_collect_vec 4,756,610 4,922,974 166,364 3.50% x 0.97
map_collect::i_mod_10_to_i::with_linked_list_collect_vec_sized 4,963,705 5,149,885 186,180 3.75% x 0.96
map_collect::i_mod_10_to_i::with_linked_list_map_reduce_vec_sized 4,916,350 5,115,283 198,933 4.05% x 0.96
map_collect::i_mod_10_to_i::with_mutex 70,655,648 72,289,631 1,633,983 2.31% x 0.98
map_collect::i_mod_10_to_i::with_mutex_vec 9,801,222 9,761,293 -39,929 -0.41% x 1.00
map_collect::i_mod_10_to_i::with_vec_vec_sized 5,403,419 5,557,942 154,523 2.86% x 0.97
map_collect::i_to_i::with_collect 7,722,275 8,436,917 714,642 9.25% x 0.92
map_collect::i_to_i::with_fold 19,948,506 19,842,487 -106,019 -0.53% x 1.01
map_collect::i_to_i::with_fold_vec 19,587,931 19,235,543 -352,388 -1.80% x 1.02
map_collect::i_to_i::with_linked_list_collect 16,895,915 14,122,565 -2,773,350 -16.41% x 1.20
map_collect::i_to_i::with_linked_list_collect_vec 12,746,958 13,456,150 709,192 5.56% x 0.95
map_collect::i_to_i::with_linked_list_collect_vec_sized 7,662,734 8,264,771 602,037 7.86% x 0.93
map_collect::i_to_i::with_linked_list_map_reduce_vec_sized 7,822,771 8,097,515 274,744 3.51% x 0.97
map_collect::i_to_i::with_mutex 125,346,431 125,972,684 626,253 0.50% x 1.00
map_collect::i_to_i::with_mutex_vec 29,558,290 29,289,772 -268,518 -0.91% x 1.01
map_collect::i_to_i::with_vec_vec_sized 8,042,247 8,173,770 131,523 1.64% x 0.98
matmul::bench::bench_matmul_strassen 11,825,501 12,297,298 471,797 3.99% x 0.96
mergesort::bench::merge_sort_par_bench 2,547,974 2,656,595 108,621 4.26% x 0.96
mergesort::bench::merge_sort_seq_bench 23,526,517 24,612,166 1,085,649 4.61% x 0.96
nbody::bench::nbody_par_bridge 1,428,661 1,398,488 -30,173 -2.11% x 1.02
nbody::bench::nbody_par_iter 1,416,416 1,383,408 -33,008 -2.33% x 1.02
nbody::bench::nbody_parreduce 7,115,217 7,064,418 -50,799 -0.71% x 1.01
nbody::bench::nbody_seq 32,582,597 32,638,792 56,195 0.17% x 1.00
pythagoras::euclid_faux_serial 31,877,544 31,601,963 -275,581 -0.86% x 1.01
pythagoras::euclid_parallel_full 5,840,019 5,834,157 -5,862 -0.10% x 1.00
pythagoras::euclid_parallel_one 1,738,248 1,711,025 -27,223 -1.57% x 1.02
pythagoras::euclid_parallel_outer 1,694,710 1,682,297 -12,413 -0.73% x 1.01
pythagoras::euclid_parallel_weightless 1,744,021 1,728,108 -15,913 -0.91% x 1.01
pythagoras::euclid_serial 30,200,381 28,513,101 -1,687,280 -5.59% x 1.06
quicksort::bench::quick_sort_par_bench 4,858,827 4,846,984 -11,843 -0.24% x 1.00
quicksort::bench::quick_sort_seq_bench 29,697,944 29,515,647 -182,297 -0.61% x 1.01
quicksort::bench::quick_sort_splitter 5,669,384 5,632,833 -36,551 -0.64% x 1.01
sieve::bench::sieve_chunks 3,151,830 2,995,018 -156,812 -4.98% x 1.05
sieve::bench::sieve_parallel 591,630 652,418 60,788 10.27% x 0.91
sieve::bench::sieve_serial 3,472,077 3,493,989 21,912 0.63% x 0.99
sort::demo_merge_sort_ascending 204,053 (1960 MB/s) 187,301 (2135 MB/s) -16,752 -8.21% x 1.09
sort::demo_merge_sort_big 4,744,189 (1349 MB/s) 4,357,784 (1468 MB/s) -386,405 -8.14% x 1.09
sort::demo_merge_sort_descending 198,607 (2014 MB/s) 156,409 (2557 MB/s) -42,198 -21.25% x 1.27
sort::demo_merge_sort_mostly_ascending 295,114 (1355 MB/s) 273,287 (1463 MB/s) -21,827 -7.40% x 1.08
sort::demo_merge_sort_mostly_descending 313,496 (1275 MB/s) 293,233 (1364 MB/s) -20,263 -6.46% x 1.07
sort::demo_merge_sort_random 707,414 (565 MB/s) 709,263 (563 MB/s) 1,849 0.26% x 1.00
sort::demo_merge_sort_strings 2,657,788 (301 MB/s) 2,627,312 (304 MB/s) -30,476 -1.15% x 1.01
sort::demo_quick_sort_big 2,806,455 (2280 MB/s) 2,934,518 (2180 MB/s) 128,063 4.56% x 0.96
sort::demo_quick_sort_mostly_ascending 9,054,381 (44 MB/s) 9,133,588 (43 MB/s) 79,207 0.87% x 0.99
sort::demo_quick_sort_mostly_descending 5,033,959 (79 MB/s) 5,297,901 (75 MB/s) 263,942 5.24% x 0.95
sort::demo_quick_sort_random 668,757 (598 MB/s) 687,100 (582 MB/s) 18,343 2.74% x 0.97
sort::demo_quick_sort_strings 1,955,412 (409 MB/s) 1,932,301 (414 MB/s) -23,111 -1.18% x 1.01
sort::par_sort_ascending 123,828 (3230 MB/s) 154,115 (2595 MB/s) 30,287 24.46% x 0.80
sort::par_sort_big 3,751,283 (1706 MB/s) 3,807,863 (1680 MB/s) 56,580 1.51% x 0.99
sort::par_sort_descending 196,827 (2032 MB/s) 240,262 (1664 MB/s) 43,435 22.07% x 0.82
sort::par_sort_expensive 26,052,276 (15 MB/s) 26,489,721 (15 MB/s) 437,445 1.68% x 0.98
sort::par_sort_mostly_ascending 339,437 (1178 MB/s) 350,886 (1139 MB/s) 11,449 3.37% x 0.97
sort::par_sort_mostly_descending 375,007 (1066 MB/s) 381,087 (1049 MB/s) 6,080 1.62% x 0.98
sort::par_sort_random 388,595 (1029 MB/s) 406,212 (984 MB/s) 17,617 4.53% x 0.96
sort::par_sort_strings 870,455 (919 MB/s) 933,938 (856 MB/s) 63,483 7.29% x 0.93
sort::par_sort_unstable_ascending 31,319 (12771 MB/s) 23,186 (17251 MB/s) -8,133 -25.97% x 1.35
sort::par_sort_unstable_big 1,504,641 (4253 MB/s) 1,585,657 (4036 MB/s) 81,016 5.38% x 0.95
sort::par_sort_unstable_descending 43,490 (9197 MB/s) 35,231 (11353 MB/s) -8,259 -18.99% x 1.23
sort::par_sort_unstable_expensive 45,409,203 (8 MB/s) 45,323,413 (8 MB/s) -85,790 -0.19% x 1.00
sort::par_sort_unstable_mostly_ascending 182,422 (2192 MB/s) 195,962 (2041 MB/s) 13,540 7.42% x 0.93
sort::par_sort_unstable_mostly_descending 196,268 (2038 MB/s) 219,090 (1825 MB/s) 22,822 11.63% x 0.90
sort::par_sort_unstable_random 225,459 (1774 MB/s) 245,112 (1631 MB/s) 19,653 8.72% x 0.92
sort::par_sort_unstable_strings 1,201,973 (665 MB/s) 1,260,547 (634 MB/s) 58,574 4.87% x 0.95
str_split::parallel_space_char 242,780 239,643 -3,137 -1.29% x 1.01
str_split::parallel_space_fn 196,173 192,934 -3,239 -1.65% x 1.02
str_split::serial_space_char 1,783,765 1,763,180 -20,585 -1.15% x 1.01
str_split::serial_space_fn 1,150,384 1,393,709 243,325 21.15% x 0.83
str_split::serial_space_str 1,404,852 1,417,226 12,374 0.88% x 0.99
tsp::bench::dj10 21,076,897 21,295,817 218,920 1.04% x 0.99
vec_collect::vec_i::with_collect 804,766 807,770 3,004 0.37% x 1.00
vec_collect::vec_i::with_collect_into_vec 806,212 808,786 2,574 0.32% x 1.00
vec_collect::vec_i::with_collect_into_vec_reused 800,798 806,008 5,210 0.65% x 0.99
vec_collect::vec_i::with_fold 7,292,935 7,470,533 177,598 2.44% x 0.98
vec_collect::vec_i::with_linked_list_collect_vec 4,765,345 4,927,923 162,578 3.41% x 0.97
vec_collect::vec_i::with_linked_list_collect_vec_sized 5,341,508 5,459,987 118,479 2.22% x 0.98
vec_collect::vec_i::with_linked_list_map_reduce_vec_sized 5,298,097 5,410,378 112,281 2.12% x 0.98
vec_collect::vec_i::with_vec_vec_sized 5,214,016 5,249,675 35,659 0.68% x 0.99
vec_collect::vec_i_filtered::with_collect 5,767,876 5,981,742 213,866 3.71% x 0.96
vec_collect::vec_i_filtered::with_fold 9,267,530 9,499,664 232,134 2.50% x 0.98
vec_collect::vec_i_filtered::with_linked_list_collect_vec 6,198,016 6,283,168 85,152 1.37% x 0.99
vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized 6,715,265 6,924,365 209,100 3.11% x 0.97
vec_collect::vec_i_filtered::with_linked_list_map_reduce_vec_sized 5,638,581 5,874,750 236,169 4.19% x 0.96
vec_collect::vec_i_filtered::with_vec_vec_sized 5,512,260 5,675,818 163,558 2.97% x 0.97
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment