|
You are here |
www.da.vidbuchanan.co.uk | ||
| | | | |
lemire.me
|
|
| | | | | ||
| | | | |
mcyoung.xyz
|
|
| | | | | [AI summary] The text provides an in-depth exploration of SIMD (Single Instruction, Multiple Data) programming, focusing on its application in optimizing algorithms like base64 decoding. It outlines the challenges of writing portable SIMD code across different architectures, the role of compilers and instruction sets, and the importance of avoiding branches in performance-critical code. The article transitions into a practical example of implementing a SIMD version of the base64 decoding algorithm, emphasizing the use of shuffles and data reordering to efficiently process data in parallel. It also touches on the trade-offs between using intrinsics, portable SIMD libraries, and compiler optimizations, while highlighting the complexities of cross-platform deve... | |
| | | | |
zackoverflow.dev
|
|
| | | | | The answer is "very often" | |
| | | | |
coredumped.dev
|
|
| | | In this post, we are going to take a deep dive into pointer tagging, where metadata is encoded into a word-sized pointer. Doing so allows us to keep a compact representation that can be passed around in machine registers. This is very common in implementing dynamic programming languages, but can really be used anywhere that additional runtime information is needed about a pointer. We will look at a handful of different ways these pointers can be encoded and see how the compiler can optimize them for diff... | ||