Multiversion gsf min finder
Provide 256bit and 128bit default multiversion vecMinThenIndex. Follow up to (!72441 (merged))
Before:
90: ------------------------------------------------------------------------------------------------------------------
90: Benchmark Time CPU Iterations
90: ------------------------------------------------------------------------------------------------------------------
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::C> 6186 ns 6096 ns 114704
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::STL> 19144 ns 18905 ns 37008
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::VecAlwaysTrackIdx> 1753 ns 1739 ns 402167
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::VecUpdateIdxOnNewMin> 480 ns 472 ns 1483958
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::VecMinThenIdx> 462 ns 457 ns 1531738
After:
90: ------------------------------------------------------------------------------------------------------------------
90: Benchmark Time CPU Iterations
90: ------------------------------------------------------------------------------------------------------------------
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::C> 6512 ns 6153 ns 113458
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::STL> 19588 ns 19006 ns 36851
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::VecAlwaysTrackIdx> 1809 ns 1749 ns 401041
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::VecUpdateIdxOnNewMin> 487 ns 474 ns 1474850
90: benchmarkFindIdxOfMinimum<findIdxOfMinimum::Impl::VecMinThenIdx> 329 ns 323 ns 2166741 <<< This is the one that matters
Edited by Lucy Lewitt