mirror of
https://github.com/dlang/phobos.git
synced 2025-04-30 23:20:29 +03:00

std.algorithm.searching: no mapping-specialization for extremum merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
22 lines
790 B
Text
22 lines
790 B
Text
Performance improvements for `std.algorithm.searching.{min,max}Element`
|
|
|
|
$(REF minElement, std, algorithm, searching) and $(REF maxElement, std, algorithm, searching)
|
|
are now considerably faster (almost 2x in microbenchmarks)
|
|
as a special path for the identity case is provided. This allows the compiler
|
|
to make use of SSE instructions.
|
|
|
|
The exact improvements are:
|
|
|
|
$(CONSOLE
|
|
% dmd -release -O test.d && ./test
|
|
extremum.before = 54 secs, 12 ms, 347 μs, and 9 hnsecs
|
|
extremum.after = 29 secs, 521 ms, 896 μs, and 5 hnsecs
|
|
)
|
|
|
|
$(CONSOLE
|
|
% ldc -release -O3 test.d && ./test
|
|
extremum.before = 13 secs, 186 ms, 176 μs, and 4 hnsecs
|
|
extremum.after = 2 secs, 241 ms, 454 μs, and 9 hnsecs
|
|
)
|
|
|
|
$(LINK2 https://gist.github.com/wilzbach/9f757fa76200956aadb97059d614df34, See the benchmark code).
|