Rayon Benchmark Suite crossbeam_epoch vs hazptr - oliver-giersch/hazptr GitHub Wiki

 name                                                                bench_w_epoch ns/iter  bench_w_hazptr ns/iter  diff ns/iter   diff %  speedup 
 factorial::factorial_iterator                                       20,630,326             20,766,242                   135,916    0.66%   x 0.99 
 factorial::factorial_join                                           2,833,123              2,880,165                     47,042    1.66%   x 0.98 
 factorial::factorial_par_iter                                       2,822,060              2,869,104                     47,044    1.67%   x 0.98 
 factorial::factorial_recursion                                      3,527,207              3,542,677                     15,470    0.44%   x 1.00 
 fibonacci::fibonacci_iterative                                      5                      5                                  0    0.00%   x 1.00 
 fibonacci::fibonacci_join_1_2                                       47,601,760             46,778,935                  -822,825   -1.73%   x 1.02 
 fibonacci::fibonacci_join_2_1                                       45,458,217             45,017,758                  -440,459   -0.97%   x 1.01 
 fibonacci::fibonacci_recursive                                      12,957,361             11,699,513                -1,257,848   -9.71%   x 1.11 
 fibonacci::fibonacci_split_iterative                                35,301                 32,302                        -2,999   -8.50%   x 1.09 
 fibonacci::fibonacci_split_recursive                                6,260,270              6,262,577                      2,307    0.04%   x 1.00 
 find::size1::parallel_find_common                                   9,431                  9,021                           -410   -4.35%   x 1.05 
 find::size1::parallel_find_first                                    6,092                  5,941                           -151   -2.48%   x 1.03 
 find::size1::parallel_find_last                                     2,752,468              2,744,509                     -7,959   -0.29%   x 1.00 
 find::size1::parallel_find_middle                                   1,888,819              1,879,415                     -9,404   -0.50%   x 1.01 
 find::size1::parallel_find_missing                                  3,113,588              2,834,316                   -279,272   -8.97%   x 1.10 
 find::size1::serial_find_common                                     2,205                  1,992                           -213   -9.66%   x 1.11 
 find::size1::serial_find_first                                      1                      1                                  0    0.00%   x 1.00 
 find::size1::serial_find_last                                       3,587,004              3,954,334                    367,330   10.24%   x 0.91 
 find::size1::serial_find_middle                                     2,392,305              2,477,326                     85,021    3.55%   x 0.97 
 find::size1::serial_find_missing                                    3,930,105              3,903,378                    -26,727   -0.68%   x 1.01 
 join_microbench::increment_all                                      41,862                 42,175                           313    0.75%   x 0.99 
 join_microbench::increment_all_atomized                             2,360,926              2,367,243                      6,317    0.27%   x 1.00 
 join_microbench::increment_all_max                                  83,191                 87,610                         4,419    5.31%   x 0.95 
 join_microbench::increment_all_min                                  31,872                 36,487                         4,615   14.48%   x 0.87 
 join_microbench::increment_all_serialized                           38,992                 38,982                           -10   -0.03%   x 1.00 
 join_microbench::join_recursively                                   852,542                846,868                       -5,674   -0.67%   x 1.01 
 life::bench::as_parallel_generations                                549,360,906            653,550,724              104,189,818   18.97%   x 0.84 
 life::bench::generations                                            106,788,360            106,184,930                 -603,430   -0.57%   x 1.01 
 life::bench::parallel_generations                                   43,944,791             44,127,868                   183,077    0.42%   x 1.00 
 map_collect::i_mod_10_to_i::with_collect                            5,142,492              5,665,452                    522,960   10.17%   x 0.91 
 map_collect::i_mod_10_to_i::with_fold                               2,505,125              2,544,245                     39,120    1.56%   x 0.98 
 map_collect::i_mod_10_to_i::with_fold_vec                           2,954,351              2,910,637                    -43,714   -1.48%   x 1.02 
 map_collect::i_mod_10_to_i::with_linked_list_collect                12,199,846             11,753,903                  -445,943   -3.66%   x 1.04 
 map_collect::i_mod_10_to_i::with_linked_list_collect_vec            5,612,534              5,653,529                     40,995    0.73%   x 0.99 
 map_collect::i_mod_10_to_i::with_linked_list_collect_vec_sized      5,640,359              5,708,177                     67,818    1.20%   x 0.99 
 map_collect::i_mod_10_to_i::with_linked_list_map_reduce_vec_sized   5,642,958              5,657,396                     14,438    0.26%   x 1.00 
 map_collect::i_mod_10_to_i::with_mutex                              80,610,082             79,769,857                  -840,225   -1.04%   x 1.01 
 map_collect::i_mod_10_to_i::with_mutex_vec                          8,906,592              8,766,380                   -140,212   -1.57%   x 1.02 
 map_collect::i_mod_10_to_i::with_vec_vec_sized                      5,829,436              5,764,968                    -64,468   -1.11%   x 1.01 
 map_collect::i_to_i::with_collect                                   8,470,170              9,491,198                  1,021,028   12.05%   x 0.89 
 map_collect::i_to_i::with_fold                                      36,400,137             37,967,861                 1,567,724    4.31%   x 0.96 
 map_collect::i_to_i::with_fold_vec                                  35,290,797             37,091,688                 1,800,891    5.10%   x 0.95 
 map_collect::i_to_i::with_linked_list_collect                       19,755,658             20,114,036                   358,378    1.81%   x 0.98 
 map_collect::i_to_i::with_linked_list_collect_vec                   16,963,790             16,986,640                    22,850    0.13%   x 1.00 
 map_collect::i_to_i::with_linked_list_collect_vec_sized             9,464,021              9,480,660                     16,639    0.18%   x 1.00 
 map_collect::i_to_i::with_linked_list_map_reduce_vec_sized          9,442,893              9,475,340                     32,447    0.34%   x 1.00 
 map_collect::i_to_i::with_mutex                                     109,803,572            110,613,484                  809,912    0.74%   x 0.99 
 map_collect::i_to_i::with_mutex_vec                                 23,579,085             24,042,379                   463,294    1.96%   x 0.98 
 map_collect::i_to_i::with_vec_vec_sized                             9,618,816              9,573,636                    -45,180   -0.47%   x 1.00 
 matmul::bench::bench_matmul_strassen                                6,454,505              6,454,730                        225    0.00%   x 1.00 
 mergesort::bench::merge_sort_par_bench                              10,125,137             10,126,756                     1,619    0.02%   x 1.00 
 mergesort::bench::merge_sort_seq_bench                              32,790,387             32,706,785                   -83,602   -0.25%   x 1.00 
 nbody::bench::nbody_par                                             21,898,679             21,885,535                   -13,144   -0.06%   x 1.00 
 nbody::bench::nbody_par_bridge                                      21,746,619             22,399,192                   652,573    3.00%   x 0.97 
 nbody::bench::nbody_parreduce                                       57,645,112             51,788,515                -5,856,597  -10.16%   x 1.11 
 nbody::bench::nbody_seq                                             60,114,073             56,012,677                -4,101,396   -6.82%   x 1.07 
 pythagoras::euclid_faux_serial                                      50,096,379             45,426,519                -4,669,860   -9.32%   x 1.10 
 pythagoras::euclid_parallel_full                                    85,435,703             77,211,128                -8,224,575   -9.63%   x 1.11 
 pythagoras::euclid_parallel_one                                     17,651,591             15,997,821                -1,653,770   -9.37%   x 1.10 
 pythagoras::euclid_parallel_outer                                   17,608,766             15,917,686                -1,691,080   -9.60%   x 1.11 
 pythagoras::euclid_parallel_weightless                              16,805,176             15,168,137                -1,637,039   -9.74%   x 1.11 
 pythagoras::euclid_serial                                           39,780,358             36,952,514                -2,827,844   -7.11%   x 1.08 
 quicksort::bench::quick_sort_par_bench                              18,918,648             16,959,632                -1,959,016  -10.35%   x 1.12 
 quicksort::bench::quick_sort_seq_bench                              46,299,111             41,561,056                -4,738,055  -10.23%   x 1.11 
 quicksort::bench::quick_sort_splitter                               23,528,053             21,117,205                -2,410,848  -10.25%   x 1.11 
 sieve::bench::sieve_chunks                                          9,912,543              8,954,252                   -958,291   -9.67%   x 1.11 
 sieve::bench::sieve_parallel                                        5,497,709              4,972,490                   -525,219   -9.55%   x 1.11 
 sieve::bench::sieve_serial                                          25,586,743             24,656,935                  -929,808   -3.63%   x 1.04 
 sort::demo_merge_sort_ascending                                     176,578 (2265 MB/s)    148,897 (2686 MB/s)          -27,681  -15.68%   x 1.19 
 sort::demo_merge_sort_big                                           12,212,679 (524 MB/s)  11,628,552 (550 MB/s)       -584,127   -4.78%   x 1.05 
 sort::demo_merge_sort_descending                                    196,902 (2031 MB/s)    177,447 (2254 MB/s)          -19,455   -9.88%   x 1.11 
 sort::demo_merge_sort_mostly_ascending                              443,894 (901 MB/s)     398,099 (1004 MB/s)          -45,795  -10.32%   x 1.12 
 sort::demo_merge_sort_mostly_descending                             490,088 (816 MB/s)     441,211 (906 MB/s)           -48,877   -9.97%   x 1.11 
 sort::demo_merge_sort_random                                        1,961,820 (203 MB/s)   1,822,635 (219 MB/s)        -139,185   -7.09%   x 1.08 
 sort::demo_merge_sort_strings                                       6,274,367 (127 MB/s)   5,676,468 (140 MB/s)        -597,899   -9.53%   x 1.11 
 sort::demo_quick_sort_big                                           6,841,000 (935 MB/s)   6,482,790 (987 MB/s)        -358,210   -5.24%   x 1.06 
 sort::demo_quick_sort_mostly_ascending                              23,599,484 (16 MB/s)   20,871,022 (19 MB/s)      -2,728,462  -11.56%   x 1.13 
 sort::demo_quick_sort_mostly_descending                             14,997,057 (26 MB/s)   13,451,240 (29 MB/s)      -1,545,817  -10.31%   x 1.11 
 sort::demo_quick_sort_random                                        1,703,141 (234 MB/s)   1,516,383 (263 MB/s)        -186,758  -10.97%   x 1.12 
 sort::demo_quick_sort_strings                                       7,162,593 (111 MB/s)   6,146,441 (130 MB/s)      -1,016,152  -14.19%   x 1.17 
 sort::par_sort_ascending                                            90,727 (4408 MB/s)     79,719 (5017 MB/s)           -11,008  -12.13%   x 1.14 
 sort::par_sort_big                                                  13,577,459 (471 MB/s)  13,041,689 (490 MB/s)       -535,770   -3.95%   x 1.04 
 sort::par_sort_descending                                           144,491 (2768 MB/s)    128,561 (3111 MB/s)          -15,930  -11.02%   x 1.12 
 sort::par_sort_expensive                                            66,836,074 (5 MB/s)    60,128,156 (6 MB/s)       -6,707,918  -10.04%   x 1.11 
 sort::par_sort_mostly_ascending                                     461,981 (865 MB/s)     414,958 (963 MB/s)           -47,023  -10.18%   x 1.11 
 sort::par_sort_mostly_descending                                    491,186 (814 MB/s)     439,785 (909 MB/s)           -51,401  -10.46%   x 1.12 
 sort::par_sort_random                                               1,501,520 (266 MB/s)   1,350,748 (296 MB/s)        -150,772  -10.04%   x 1.11 
 sort::par_sort_strings                                              5,269,052 (151 MB/s)   4,811,685 (166 MB/s)        -457,367   -8.68%   x 1.10 
 sort::par_sort_unstable_ascending                                   51,904 (7706 MB/s)     46,873 (8533 MB/s)            -5,031   -9.69%   x 1.11 
 sort::par_sort_unstable_big                                         5,180,819 (1235 MB/s)  5,523,208 (1158 MB/s)        342,389    6.61%   x 0.94 
 sort::par_sort_unstable_descending                                  78,010 (5127 MB/s)     71,049 (5629 MB/s)            -6,961   -8.92%   x 1.10 
 sort::par_sort_unstable_expensive                                   79,156,278 (5 MB/s)    71,796,623 (5 MB/s)       -7,359,655   -9.30%   x 1.10 
 sort::par_sort_unstable_mostly_ascending                            375,202 (1066 MB/s)    338,959 (1180 MB/s)          -36,243   -9.66%   x 1.11 
 sort::par_sort_unstable_mostly_descending                           387,961 (1031 MB/s)    347,741 (1150 MB/s)          -40,220  -10.37%   x 1.12 
 sort::par_sort_unstable_random                                      837,641 (477 MB/s)     757,522 (528 MB/s)           -80,119   -9.56%   x 1.11 
 sort::par_sort_unstable_strings                                     4,883,575 (163 MB/s)   4,541,931 (176 MB/s)        -341,644   -7.00%   x 1.08 
 str_split::parallel_space_char                                      1,382,001              1,219,864                   -162,137  -11.73%   x 1.13 
 str_split::parallel_space_fn                                        958,080                860,534                      -97,546  -10.18%   x 1.11 
 str_split::serial_space_char                                        3,434,793              3,061,067                   -373,726  -10.88%   x 1.12 
 str_split::serial_space_fn                                          1,667,153              1,646,248                    -20,905   -1.25%   x 1.01 
 str_split::serial_space_str                                         2,607,027              2,368,754                   -238,273   -9.14%   x 1.10 
 tsp::bench::dj10                                                    14,557,464             14,909,578                   352,114    2.42%   x 0.98 
 vec_collect::vec_i::with_collect                                    2,120,411              2,084,917                    -35,494   -1.67%   x 1.02 
 vec_collect::vec_i::with_collect_into_vec                           2,122,383              2,083,553                    -38,830   -1.83%   x 1.02 
 vec_collect::vec_i::with_collect_into_vec_reused                    2,131,914              2,102,178                    -29,736   -1.39%   x 1.01 
 vec_collect::vec_i::with_fold                                       39,688,870             36,784,326                -2,904,544   -7.32%   x 1.08 
 vec_collect::vec_i::with_linked_list_collect_vec                    29,750,396             27,139,615                -2,610,781   -8.78%   x 1.10 
 vec_collect::vec_i::with_linked_list_collect_vec_sized              29,526,126             26,859,532                -2,666,594   -9.03%   x 1.10 
 vec_collect::vec_i::with_linked_list_map_reduce_vec_sized           29,470,539             26,884,704                -2,585,835   -8.77%   x 1.10 
 vec_collect::vec_i::with_vec_vec_sized                              29,485,927             26,934,361                -2,551,566   -8.65%   x 1.09 
 vec_collect::vec_i_filtered::with_collect                           30,704,821             27,988,386                -2,716,435   -8.85%   x 1.10 
 vec_collect::vec_i_filtered::with_fold                              42,702,880             39,333,987                -3,368,893   -7.89%   x 1.09 
 vec_collect::vec_i_filtered::with_linked_list_collect_vec           35,001,849             31,989,815                -3,012,034   -8.61%   x 1.09 
 vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized     34,692,144             31,784,022                -2,908,122   -8.38%   x 1.09 
 vec_collect::vec_i_filtered::with_linked_list_map_reduce_vec_sized  30,798,361             27,999,047                -2,799,314   -9.09%   x 1.10 
 vec_collect::vec_i_filtered::with_vec_vec_sized                     31,104,431             28,269,351                -2,835,080   -9.11%   x 1.10 
⚠️ **GitHub.com Fallback** ⚠️