Re: Can SIMD in boost unordered be disabled without disabling SIMD for full compile.
Joaquin M López Muñoz via Boost-users <[email protected]> Mon, 11 Mar 2024 09:12:24 +0100
| Newsgroups | gmane.comp.lib.boost.user |
|---|---|
| Message-ID | <[email protected]> |
El 10/03/2024 a las 22:40, Ivan Matek via Boost-users escribió: > Hi, > I have some small maps where I am pretty sure SIMD tricks that are > amazing in general will just slow down the lookups since I never > lookup items not in the map and map is so small that benefits of not > looking up into the big array and trashing the cache are miniscule. > I know I can force compiler to not support SIMD with march, but I want > to keep the SIMD optimizaitons for rest of the code, including large > boost unordered objects. Hi Ivan, Boost.Unordered support can be disabled by globally defining the macro BOOST_UNORDERED_DISABLE_SSE2, but this is probably not a solution for you because: * It disables SSE2 for *all* flat containers in Boost.Unordered. * The alternative implementation to SSE2 is likely to be slower anyway. May I suggest that you use boost::unordered_map instead of boost::unordered_flat_map for those small maps and see if this improves the performance of your program? Best, Joaquín M López Muñoz _______________________________________________ Boost-users mailing list [email protected] https://lists.boost.org/mailman/listinfo.cgi/boost-users