Hi, I'm porting marisa-tire[0] now, it is a C++ implementation of MARISA (Matching Algorithm with Recursively Implemented StorAge) trie data structure. It offers a configure flag --enable-native-code for detecting and enabling processor-dependent optimizations which I'm not sure if I should use in my port. Will this cause compatibility issue for binary package users? I wonder what's the policy on this kind of optimizations?
On my i7-3520M it detects and enables the following optimizations: marisa 0.2.6 configuration: ------------------------------- HOST: x86_64-unknown-openbsd6.9 CXX: c++ CXXFLAGS: -g -O2 -DMARISA_USE_POPCNT -mpopcnt -DMARISA_USE_SSE4 -msse4 LDFLAGS: PREFIX: /usr/local NATIVE: yes SSE2: yes SSE3: yes SSSE3: yes SSE4.1: yes SSE4.2: yes SSE4a: no POPCNT: yes BMI: no BMI2: no ... and it brings about 13% of performance gain when running marisa-benchmark and with enwiki-latest-all-titles-in-ns0 as input. [0]: https://github.com/s-yata/marisa-trie
