Shai Asher

Systems programmer

Go, C, C++ and assembly — concurrency, SIMD, and the parts of the runtime most people never have to think about. I make hot paths measurably faster, and I write down how.

Selected work

BloomFilter Go · AVX2 · NEON

Lock-free SIMD Bloom filter. Zero allocations on the hot path, 64-byte aligned buckets, atomic CAS instead of locks.

26 ns add23 ns contains0 B/op3–4× willf/bloom
SIMDCuckooFilter Go · AVX2 · NEON

Cuckoo filter with hand-written assembly for bucket probing on x86-64 and ARM64. No dependencies beyond the standard library.

3–4× scalar (AVX2)2–3× scalar (NEON)zero deps
tributary C++20 · header-only

Many producers, one river. Fan-in from many threads to one or more consumers over bounded SPSC rings — a producer never blocks, and an overload burst is dropped and counted rather than queued.

22–29 ns pushflat 4 → 32 threads3.87× at 4 consumers
CFD C11 · OpenMP · CUDA

2D/3D incompressible Navier–Stokes solver. Geometric multigrid, k-ε and Spalart–Allmaras turbulence, four interchangeable backends.

SIMD / OpenMP / CUDAmultigrid V·W·Fvalidated vs Ghia
thermolab & wavelab Python · MyST · JupyterLite

Interactive bilingual (English / Hebrew) university courses in thermal and statistical physics, and in waves and optics — notebooks and labs that run entirely in the browser.

runs in-browserEN / עבריתno install

Writing

I write up the optimisation work in long form — the wrong turns included.

All 18 posts →