rethinking point cloud storage: achieving 11x speedups for bulk perception workloads
spekl’s structure of arrays outpaces traditional point cloud libraries
Traditional point cloud libraries drain memory and bandwidth, so I created one that doesn’t. It’s called spekl.
The frustration
Traditional point cloud libraries like PCL store data as an array of structs (AoS). If you’re running perception pipelines on embedded hardware, this causes painstaking memory bottlenecks and cache utilization as low as 25%. Not cool.
The Challenge
Embedded systems operate under stringent constraints: narrow memory buses, small caches, strict deadlines before the next sensor scan arrives, and memory allocation bans. Moving unused data through a cache hierarchy in a bandwidth-starved system wastes precious cycles.
And the more common point cloud solutions utilize heavy external dependencies like Boost, which create massive supply chain, cross-compilation, and safety certification hurdles for edge deployments. Also not cool.
The Solution
The spekl library solves all of this by storing clouds as a structure of arrays (SoA) so a single cache line holds entirely contiguous, useful data.
I built it with an AVX2 vectorized kernel architecture, over-aligned 32-byte field arrays, and zero virtual dispatch so callers can preallocate and fully own the memory without runtime allocations. Much cooler, right?
The BIG WIN
Maximizing cache line utilization at 100% and leverage SIMD across points helps spekl use far less data and operate 1.7x to 11.8x faster than PCL on bulk array transformers.
It eliminates bloated dependencies and only requires Eigen instead of PCL’s dozens of Boost modules. spekl provides a deterministic, highly predictable path for sensor streams.
You get complete predictability and peace of mind over tight processing deadlines, which means no runtime errors and much simpler processes for deploying perception loops onto constrained edge hardware.
Want to know if spekl will work for your product?
the credentials aren’t the headline, but they’re here if you’re really, really curious
Browse my patents, papers, and GitHub. And then maybe take a break and do something fun after.
other projects that deserve an honorable mention
Designed & implemented safety critical & latency sensitive perception software for autonomous vehicles — specifically, backup systems in case of degraded performance of the main system.
Designed & implemented analysis and metrics tooling for autonomous vehicles, supporting the end-to-end evaluation of multi-sensor perception systems
Prototyped a new type of data analysis pipeline to help ML practitioners better understand dataset composition.
Initial design and implementation of a new perception system as the founding engineer at a geospatial software startup: full ML pipeline, custom C++ sensor fusion and processing pipeline, algorithm design and implementation, support infrastructure and tooling, design of annotation policy and process, and fully custom data ingest pipeline.