News for hackers. Stuff that matters.
Re:Major Update of Vector Class Library by CogitoCogito on Monday August 05, 2019 @07:36AM (#20613229)
He mentions using new metaprogramming techniques enabled by C++ 14/17 to choose optimal tuning parameters during compile time. What is the main upshot of this? Are their benchmarks showing they improve performance? Due they improve maintainability? Possibly both?
Re:Major Update of Vector Class Library by jepler on Monday August 05, 2019 @08:21AM (#20613504)
I haven't digested just how it works, but "if constexpr" is used to choose different, more efficient instructions, when "special" permutations are chosen. Here is the implementation for a 128-bit permutation: https://github.com/vectorclass/version2/blob/master/vectorf1...

Implementation and comments related to "perm_flags" function here: https://github.com/vectorclass/version2/blob/6b16b1aaa388067...

Re:Major Update of Vector Class Library by rurban on Monday August 05, 2019 @04:48PM (#20618749)
constexpr or not are making a huge difference in large scale vectorizable operations for me. In my memcpy it's either two times slower without or two times faster with.

Maintainablity is a bit harder, and compilers suck. You have always check new compiler regressions, esp. with the broken restrict/noalias feature with newer gcc's or clang with -O3.