// introduction
Software Performance engineer.
I find bottlenecks, fix them, and build the tooling that finds the next one.
// stack
// contributions
pick a repo
simdjson/simdjson
SIMD-accelerated JSON parser for high-throughput services.
Swapped the Grisu2 float-to-string algorithm for DragonBox: 775 to 820 M chars/s (+6% throughput augmentation), eliminating Grisu2's rare slow-path fallback.
Added native 128-bit multiplication via compiler intrinsics, replacing the textbook emulation: 826 to 917 M chars/s (+11% throughput augmentation).
Rewrote digit-extraction with lookup tables and reverse-buffer writes: 826 to 1053 M chars/s (+27% solo), reaching 1176 M chars/s (+42% stacked with #2780).
Co-Authored with Daniel Lemire. Replaced the scan-then-copy escape loop with a single pass over 16-byte blocks, storing clean blocks with one unaligned SIMD write and covering the tail with overlapping in-bounds loads. Up to +41% on the serialization benchmarks (10 to 14GB/s).
Refreshed two stale entries in the 'Real-world usage' list.
Forced constant-size memcpy operations to inline into SIMD vector ops, eliminating libc dispatch branches: 1185 to 1235 M chars/s (+4% throughput augmentation).
new benchmarks to simdjson comparing get_int64(), get_double(), and get_number() performance across both the OnDemand and DOM APIs, performing scaling test over 3 sizes. Uses a deterministic xorshift64 PRNG to generate reproducible benchmarks results, telemetry stabilized with a Trial+Minimum iteration methodology, monitoring with unix-counters (time, cycle, instructions). Includes compiler flags for readability. closing issue #2186.
Fixed an invered logic inside an benchmark, leading it to only printf 'performance regression' or 'undifferenciable'; making results ambiguous for contributors.
Fixing an issue ticket opened in 2020 when using LTO with MSVC, MSVC's /GL optimization produce unreadable objects by bindexplib causing empty export tables. Fixed with a workaround to exclude MSVC, allowing other toolchains to gain +5-15% throughput and 40-80% lighter binary
// projects
06