May 06, 2021 2:00PM
Branch predictor: How many "if"s are too many? Including x86 and M1 benchmarks!
Speed & Reliability
Is it ok to have if clauses that will basically never be run? Surely, there must be some performance cost to that......
December 18, 2020 12:00PM
Computing Euclidean distance on 144 dimensions
Last year we deployed a CSAM image scanning tool. This is so cool! Image processing is always hard, and deploying a real image identification system at a Cloudflare scale is no small achievement! But we hit a problem - the matching algorithm was too slow for our needs....
June 18, 2020 12:56PM
Why is there a "V" in SIGSEGV Segmentation Fault?
My program received a SIGSEGV signal and crashed with "Segmentation Fault" message. Where does the "V" come from? Did I read it wrong? Was there a "Segmentation *V*ault?"? Or did Linux authors make a mistake? Shouldn't the signal be named SIGSEGF?...
April 06, 2020 12:00PM
Conntrack tales - one thousand and one flows
We were wondering - can we just enable Linux "conntrack"? How does it actually work? I volunteered to help the team understand the dark corners of the Linux's "conntrack" stateful firewall subsystem....
March 02, 2020 1:00PM
When Bloom filters don't bloom
Last month finally I had an opportunity to use Bloom filters. I became fascinated with the promise of this data structure, but I quickly realized it had some drawbacks. This blog post is the tale of my brief love affair with Bloom filters....