All blogs / Performance / optimization
purplesyringa's blog
Posts from purplesyringa's blog.
Performance / optimizationRustAlgorithms / data structuresCPU / microarchitecture
- Posts
- 124 from 23 Apr 2024 to 16 Oct 2026
- Posting
- weekly (76 in the last year)
- Kind
- personal blog
- Feed
- https://purplesyringa.moe/blog/feed.rss
2026 62
- Superoptimizing an FPU emulator
- Superoptimizing an FPU emulator
- Things I wish I knew before starting speedrunning
- Things I wish I knew before starting speedrunning
- Who is vfmaddrnd231pd??
- Who is vfmaddrnd231pd??
- Vectorized CLZ and CTZ
- Vectorized CLZ and CTZ
- Grieving the loss of details
- Grieving the loss of details
- Write while learning
- Write while learning
- Don't call yourself an artisanal programmer
- Don't call yourself an artisanal programmer
- The NX bit is not just about security
- accept() and socket inheritance
- accept() and socket inheritance
- DuplicateHandle works on sockets, mostly
- DuplicateHandle works on sockets, mostly
- Race-free handle inheritance, maybe
- Race-free handle inheritance, maybe
- std::process::Command is a bad citizen on Windows
- std::process::Command is a bad citizen on Windows
- Impressions of Teal
- Thoughts on "SIMD in Pure Python"
- Thoughts on "SIMD in Pure Python"
- Impressions of Teal
- log is non-monotonic in PHP and Lua
- log is non-monotonic in PHP and Lua
- Sorted rank coding
- Sorted rank coding
- Quadrupling code performance with a "useless" if
- Quadrupling code performance with a "useless" if
- Optimal parse with phminposuw
- Optimal parse with phminposuw
- Does technical blogging spark joy?
- Does technical blogging spark joy?
- Suffix BWT vs cyclic shift BWT, and fast computation
- Suffix BWT vs cyclic shift BWT, and fast computation
- Optimizing Lua string literals to save 400 bytes
- This Wasm interpreter fits in a QR code
- You might misunderstand arithmetic coding
- You might misunderstand arithmetic coding
- This Wasm interpreter fits in a QR code
- Wasm is not quite a stack machine
- Wasm is not quite a stack machine
- Wait, if (flags & O_SYNC) is wrong?
- Wait, if (flags & O_SYNC) is wrong?
- Programming used to be free
- Programming used to be free
- No one owes you supply-chain security
- No one owes you supply-chain security
- Simplest hash functions
- Simplest hash functions
- There is absolutely nothing wrong with Web
- There is absolutely nothing wrong with Web
- Optimization lessons from a Minecraft structure locator
- Optimization lessons from a Minecraft structure locator
- Reinventing aliasing XOR mutability and lifetimes
- Reinventing aliasing XOR mutability and lifetimes
- An ode to bzip
- An ode to bzip
2025 34
- Faster practical modular inversion
- Faster practical modular inversion
- Rust's v0 mangling scheme in a nutshell
- Rust's v0 mangling scheme in a nutshell
- Faster comparison modulo α-equivalence
- Faster comparison modulo α-equivalence
- A look at Rust from 2012
- A look at Rust from 2012
- ntoh*/hton* is a bad API
- ntoh*/hton* is a bad API
- Finding duplicated code with tools from your CS course
- Finding duplicated code with tools from your CS course
- JVM exceptions are weird: a decompiler perspective
- JVM exceptions are weird: a decompiler perspective
- The expression problem and Rust
- The expression problem and Rust
- Fenwick layout for interval trees
- Fenwick layout for interval trees
- If I hear "design pattern" one more time, I'll go mad
- If I hear "design pattern" one more time, I'll go mad
- "AI discourse" is a joke
- "AI discourse" is a joke
- Hidden complexity in software development
- Hidden complexity in software development
- Splitting independent variables without SSA
- Splitting independent variables without SSA
- Fast limited-range conversion between ints and floats
- Fast limited-range conversion between ints and floats
- Recovering control flow structures without CFGs
- Recovering control flow structures without CFGs
- Why performance optimization is hard work
- Why performance optimization is hard work
- Falsehoods programmers believe about null pointers
- Falsehoods programmers believe about null pointers
2024 28
- The RAM myth
- The RAM myth
- Thoughts on Rust hashing
- Thoughts on Rust hashing
- Any Python program fits in 24 characters*
- Any Python program fits in 24 characters*
- The Rust Trademark Policy is still harmful
- The Rust Trademark Policy is still harmful
- Bringing faster exceptions to Rust
- Bringing faster exceptions to Rust
- We built the best "Bad Apple!!" in Minecraft
- We built the best "Bad Apple!!" in Minecraft
- Minecraft сравнивает массивы за куб
- WebP: The WebPage compression format
- WebP: The WebPage compression format
- Division is hard, but it doesn't have to be
- Division is hard, but it doesn't have to be
- I sped up serde_json strings by 20%
- I sped up serde_json strings by 20%
- The sentinel trick
- You might want to use panics for error handling
- You might want to use panics for error handling
- The sentinel trick
- У base64 есть неподвижная точка
- I thought I was smart enough to play with fire
- I thought I was smart enough to play with fire
- Recovering garbled Bitcoin addresses
- Recovering garbled Bitcoin addresses