Skip to content

GSF : Find index of Minimum , add all implementations . And fix names

Impl. Total time ms for full Alg "EMBremcollectionBuilder 99 ttbar
STL 13299.11
C 9518.07
Vec Update Idx On NewMin 6851.68
Vec Always Track Idx 6855.76
Vec Find Min Then Idx 6843.87

Micro-bench

  • Random input
findIdxMinC/2048_mean                            2715 ns         2707 ns           20
findIdxMinC/2048_median                          2715 ns         2706 ns           20
findIdxMinC/2048_stddev                          5.36 ns         5.38 ns           20
findIdxMinC/2048_cv                              0.20 %          0.20 %            20

findIdxMinSTL/2048_mean                          6112 ns         6094 ns           20
findIdxMinSTL/2048_median                        6105 ns         6086 ns           20
findIdxMinSTL/2048_stddev                        20.4 ns         20.4 ns           20
findIdxMinSTL/2048_cv                            0.33 %          0.33 %            20

findIdxMinVecAlwaysTrackIdx/2048_mean             296 ns          295 ns           20
findIdxMinVecAlwaysTrackIdx/2048_median           295 ns          295 ns           20
findIdxMinVecAlwaysTrackIdx/2048_stddev         0.916 ns        0.909 ns           20
findIdxMinVecAlwaysTrackIdx/2048_cv              0.31 %          0.31 %            20

findIdxMinVecUpdateIdxOnNewMin/2048_mean          114 ns          113 ns           20
findIdxMinVecUpdateIdxOnNewMin/2048_median        113 ns          113 ns           20
findIdxMinVecUpdateIdxOnNewMin/2048_stddev      0.245 ns        0.244 ns           20
findIdxMinVecUpdateIdxOnNewMin/2048_cv           0.22 %          0.22 %            20

findVecMinThenIdx/2048_mean                       127 ns          127 ns           20
findVecMinThenIdx/2048_median                     127 ns          127 ns           20
findVecMinThenIdx/2048_stddev                   0.394 ns        0.392 ns           20
findVecMinThenIdx/2048_cv                        0.31 %          0.31 %            20
  • sorted descending
findIdxMinC/2048_mean                            2700 ns         2693 ns           20
findIdxMinC/2048_median                          2700 ns         2693 ns           20
findIdxMinC/2048_stddev                          9.47 ns         9.42 ns           20
findIdxMinC/2048_cv                              0.35 %          0.35 %            20

findIdxMinSTL/2048_mean                          6136 ns         6119 ns           20
findIdxMinSTL/2048_median                        6140 ns         6123 ns           20
findIdxMinSTL/2048_stddev                        18.8 ns         18.6 ns           20
findIdxMinSTL/2048_cv                            0.31 %          0.30 %            20

findIdxMinVecAlwaysTrackIdx/2048_mean             295 ns          294 ns           20
findIdxMinVecAlwaysTrackIdx/2048_median           296 ns          295 ns           20
findIdxMinVecAlwaysTrackIdx/2048_stddev          1.23 ns         1.23 ns           20
findIdxMinVecAlwaysTrackIdx/2048_cv              0.42 %          0.42 %            20

findIdxMinVecUpdateIdxOnNewMin/2048_mean          367 ns          366 ns           20
findIdxMinVecUpdateIdxOnNewMin/2048_median        367 ns          366 ns           20
findIdxMinVecUpdateIdxOnNewMin/2048_stddev      0.770 ns        0.763 ns           20
findIdxMinVecUpdateIdxOnNewMin/2048_cv           0.21 %          0.21 %            20

findVecMinThenIdx/2048_mean                       327 ns          326 ns           20
findVecMinThenIdx/2048_median                     327 ns          326 ns           20
findVecMinThenIdx/2048_stddev                    1.03 ns         1.02 ns           20
findVecMinThenIdx/2048_cv                        0.31 %          0.31 %            20
Edited by Christos Anastopoulos

Merge request reports