Alfonso Subiotto
asubiotto.com
Alfonso Subiotto
@asubiotto.com
Engineering at polarsignals.com & investing in devtools/data/infra
at lorimerventures.com | Previously tech lead at cockroachlabs.com
Reposted by Alfonso Subiotto
📢 It’s a new year so we’re announcing something new which is the Sandwich view: A way to visualize a function’s callers and callees side by side for better debugging and performance work. Read more about it here: www.polarsignals.com/blog/posts/2...
Introducing the Sandwich View
A new way to visualize a function’s callers and callees side by side.
www.polarsignals.com
January 8, 2026 at 3:45 PM
My EuroRust talk has been uploaded to YT! I cover how we architected our Rust database at @polarsignals.com as a set of state machines to enable deterministic simulation testing and catch hard-to-reproduce bugs before they hit prod.
A new talk is out! 🙌 @asubiotto.com shows how deterministic simulation testing (DST) uses random seeds and state machines to explore countless execution paths—and reliably replay failures when things go wrong 🦀🎲

👉 youtu.be/V12hHoagv-E
Random Seeds and State Machines - Alfonso Subiotto | EuroRust 2025
Random Seeds and State Machines: An Approach to Deterministic Simulation Testing - Alfonso Subiotto at EuroRust 2025 Have you spent sleepless nights thinking about that heisenbug in production that…
youtu.be
January 7, 2026 at 11:46 AM
A simple 50-line code change saves us 30% of CPU across our whole infrastructure. This is the magic of system-wide profiling with @polarsignals.com. Easy to spot, easy to fix.
performance[vortex-array]: don't call is_valid to count bytes in varbinview by asubiotto · Pull Request #5814 · vortex-data/vortex
I noticed that the better blocks compressor uses count_referenced_bytes which calls is_valid on each view and results in an expensive scalar_at call. This was 30% of our system-wide CPU usage over ...
github.com
December 23, 2025 at 10:48 AM
Reposted by Alfonso Subiotto
🚀 We recently announced our NVIDIA CUDA always-on profiler. Check out this blog on how to try it out super quickly with your CUDA workload today!🧊

www.polarsignals.com/blog/posts/2...
Profiling NVIDIA CUDA in Kubernetes
The easiest way to get started Profiling CUDA in Kubernetes
www.polarsignals.com
December 18, 2025 at 3:59 PM
Happy to share that I've been nominated to the Vortex Technical Steering Committee! It's been fun and productive switching to Vortex from Parquet as our storage format @polarsignals.com and I'm excited to continue contributing to the Vortex project.

vortex.dev/blog/novembe...
November Bulletin | Vortex Blog
Overview of all work happening in Vortex
vortex.dev
December 15, 2025 at 3:03 PM
Reposted by Alfonso Subiotto
🧊 New on the Polar Signals Blog — Our Delta Lake Fork

Purpose-built for our continuous profiling product. In our latest post, we walk through how Delta Lake works, and the changes we've made to improve performance for our product.

👉 Read the full post: buff.ly/KwHINtO
Great Lakes: A Delta Lake Fork
Our updates to Delta Lake Table Format
www.polarsignals.com
December 4, 2025 at 2:45 PM
Sometimes an interface is so ubiquitous that performance limitations inherent to its design are just accepted. This has been our experience with Parquet. We switched to Vortex which aligned much better with our needs and saw a 70% performance improvement across the board. Read more below 👇
Do more with less. | Polar Signals
Polar Signals Cloud is an always-on, zero-instrumentation continuous profiling for CPU, GPU, and Memory that helps improve performance, understand incidents, and lower infrastructure costs.
www.polarsignals.com
November 25, 2025 at 3:31 PM
Reposted by Alfonso Subiotto
Ever wondered how your browser devtools jumps from bundle.min.js:1:27698 → src/index.ts:73:16? 🧊

We unpack the internals of JS Source Maps: Base64 VLQ encoding, mapping deltas, and how your original TS code gets reconstructed from minified bundles.

🔗 www.polarsignals.com/blog/posts/2...
The Inner Workings of JavaScript Source Maps
A deep dive into how JavaScript source maps work under the hood, with examples showing how all the pieces fit together.
www.polarsignals.com
November 4, 2025 at 3:07 PM
Introducing the world's first open source continuous NVIDIA CUDA profiler. Zero code changes required, low overhead, and always on.
October 22, 2025 at 2:28 PM
Reposted by Alfonso Subiotto
Took advantage of the lunch break to replay this great talk by Alfonso Subiotto (@asubiotto.com) making the case for a State Machines based approach to Deterministic Simulation Testing, being used at @polarsignals.com, very interesting!

Their inspiration for this: sled.rs/simulation
October 10, 2025 at 11:23 AM
Reposted by Alfonso Subiotto
We're excited to be at @rustconf.com 2025!
Let's talk about profiling Rust with zero compromise!
#rustconf25
September 3, 2025 at 7:13 PM
Reposted by Alfonso Subiotto
We recently made some performance improvements to our Flame Graph by implementing backend pre-computation and viewport culling. Read more in our latest blog post: www.polarsignals.com/blog/posts/2...
Parallel Flame Graph Rendering
How we improved our flame graph rendering by moving computation to the backend.
www.polarsignals.com
September 3, 2025 at 2:39 PM
I wrote about why we should treat German string encoding/StringViews as Just Another Encoding™
German strings 🇩🇪 have become very popular in the database world. However, they're not a silver bullet. Read more in our latest blog post:
Das Problem mit German Strings
And why I don't want my database to choose the best encoding for me (yet)
www.polarsignals.com
August 26, 2025 at 4:00 PM
Do any database systems "columnarize" the German string encoding so rather than storing a 16-byte view for each element which includes length+prefix+pointer you'd store all lengths together, prefixes together etc...? Seems like prefix operations would be more SIMD friendly.
August 20, 2025 at 11:45 AM
The hardest part about writing a blog post is the introduction. Here I am, 4 hours later.
August 19, 2025 at 12:18 PM
Reposted by Alfonso Subiotto
Tame the OOM killer with OOMProf, the new eBPF memory profiler for Go programs being taken out by the kernels OOM killer!
www.polarsignals.com/blog/posts/2...
OOMProf - Profiling on the Brink
Using eBPF to record your programs dying breathes
www.polarsignals.com
August 13, 2025 at 2:49 PM
Reposted by Alfonso Subiotto
We're excited to share that the Parca Agent now works offline! Store CPU profiles locally when disconnected, upload when ready. Because not all computing happens in data centers.
Read how we built it: www.polarsignals.com/blog/posts/2...
Offline Mode for the Parca Agent
Collect and upload profiles -- even without a network connection
www.polarsignals.com
August 7, 2025 at 2:49 PM
New storage format RFC in the works 👀 Early preview:
July 31, 2025 at 12:31 PM
Reposted by Alfonso Subiotto
🚀 Today, we're excited to launch Off-CPU profiling! Check out our blog on what we needed to do to make it most useful and how you can get started with it! 🧊

www.polarsignals.com/blog/posts/2...
Introducing Off-CPU Profiling
How Off-CPU profiling works and how to get the most out of it
www.polarsignals.com
July 30, 2025 at 3:26 PM
@metalmatze.de built an MCP server so you can hook up your agent to your profiling data. Check it out!
🔥 Have you ever stared at a flame graph wondering why your app is slow?

Using the new @PolarSignalsIO MCP, you can now ask "Why is my service slow?" and e.g. @anthropic.com's Claude Code or @cursor.com.web.brid.gy will analyze your production profiles and suggest code fixes.
July 18, 2025 at 7:34 AM
Reposted by Alfonso Subiotto
📔Writing our Rust database from scratch gave us a golden opportunity to implement deterministic simulation testing as a core feature. Learn about the architecture that gives us full control over DST ingredients. 🧊

www.polarsignals.com/blog/posts/2...
Deterministic Simulation Testing in Rust: A Theater Of State Machines
How we designed our database for complete control over concurrency, time, randomness, and failure injection.
www.polarsignals.com
July 8, 2025 at 2:15 PM
Writing our Rust database from scratch gave us a golden opportunity to implement deterministic simulation testing as a core feature. I wrote a blog post about the architecture that gives us full control over concurrency, time, randomness, and failure injection. (link in comment)
July 8, 2025 at 2:25 PM
If you're serious about performance, you need continuous profiling in your life
July 7, 2025 at 2:02 PM
Nice read about how maybe it's time to delete some tests (not your DST test though): andre.arko.net/2025/06/30/y...
You should delete tests
We’ve had decades of thought leadership around testing, especially coming from wholistic development philosophies like Agile, TDD, and BDD. After all that time and several supposedly superseding…
andre.arko.net
July 7, 2025 at 7:35 AM
Reposted by Alfonso Subiotto
This was a fun read. Speed runs building a cloud DB. Hill climbing the design can lead to a local maximum. Lots of lessons. Now I need to read their next post on the new one!
July 4, 2025 at 5:53 PM