Hacker News new | past | comments | ask | show | jobs | submit login

Yes, here is the article about the techniques: https://maksimkita.com/blog/cpu-dispatch-in-clickhouse.html



It’s considerably more onerous than just compiling to a single/multiple microarchitecture(s) though. Plus when you do this, you need to split out this code to be conditionally compiled so that you can support other architectures like ARM.


Here is an example on how to do this using github.com/google/highway: https://gcc.godbolt.org/z/zP7MYe9Yf

You write the code only once and do not have to worry about any #pragma/conditional compilation. Just copy-paste about a dozen lines of boilerplate, link with the Highway library, and done.

Disclosure: I am the main author; happy to discuss.


That’s great! Never seen this library before. It’s much neater than the other approaches I’ve seen/used.


Thanks, glad to hear :) Feedback is always welcome, do let us know via Github issue if there is anything you think can be improved.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: