5 ms·
Ask HN: Where can I learn about programming SIMD and branchless programming?
I was really impressed by this simdjson library’s performance: https://github.com/simdjson/simdjson
But I had never heard of this kind of programming using SIMD and “branchless” programming. Does anyone know of a resource where I can learn how to do this kind of programming?
More on this style of programming in this thread from the contributors to simdjson: https://news.ycombinator.com/item?id=22754841
- fwsgonzo 5y agoCreels on youtube is a good start if you're interested in that sort of thing. Also, this will amaze you: https://github.com/komrad36/CRC https://github.com/komrad36/CRC Knowing details about your system can give you 60x speedup over naive implementations. That CRC32 (Castagnoli) checksum is also 29x faster than the best you can do in WebAssembly, for example.
- faizshah 5y agoThanks for the suggestion here is the video from Creel on branchless programming: https://youtu.be/bVJ-mWWL7cE https://youtu.be/bVJ-mWWL7cE
- kardos 5y agoBranchfree.org has some good reads on the topic in blog form