NLnetLabs / simdzone

Fast and standards compliant DNS zone parser
BSD 3-Clause "New" or "Revised" License
63 stars 11 forks source link

Allow for vectorized parsers to be explicitly enabled/disabled #172

Closed k0ekk0ek closed 4 months ago

k0ekk0ek commented 5 months ago

I've had a comment from an NSD user that maybe users would like to disable vectorized parsers. Add flags to make and CMake based builds to explicitly enable/disable westmere and haswell based parsing.

lemire commented 5 months ago

disable vectorized parsers

Note that standard libraries use vectorized routines all the time (memcpy, memcmp, are all vectorized).

k0ekk0ek commented 4 months ago

I am aware. It's not recommended behavior, but some NSD users may not be interested in maximum performance and instead prefer having just one parser kernel for simplicity(?) This is merely to accommodate their specific use case. I've opted to enable all kernels by default. In practice, I suspect very few people will actively disable the better performing kernels.