[1] https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
661 karma · joined August 21, 2017
[1] https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
[1] https://research.google/pubs/google-wide-profiling-a-continu...
[1] https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
That said, no matter how we spin it, frame pointer unwinding is always going to be cheaper, and while profiling is getting better, I think I'm almost more excited about the other aspects of debuggability this is gaining: out-of-the-box working bpftrace, bcc-tool and anything else that needs to deal with unwinding with just about anything that's running on the box. I think we'll see a huge gain in capabilities over the next few years with frame pointers more prevalent in fedora and ubuntu and I'm sure more will now follow.
[1] https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
Profiling is one part, but the debuggability this enables is going to be huge in the long term I predict.
[1] https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
[1] https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
[2] https://www.polarsignals.com/blog/posts/2023/10/04/profiling...
[1] https://github.com/parca-dev/parca-agent
[2] https://github.com/parca-dev/parca-agent/blob/54434c02773a8a...
At the end of the day compilers are also just software and it's just a matter of how many features you end up being exposed to.
Even being in a leadership position and basically competing within Red Hat against this, I found no answer to your question.
If you enjoyed that post, I think you’ll also like the one we wrote about native unwinding without frame pointers: https://www.polarsignals.com/blog/posts/2022/11/29/dwarf-bas...
We’ll think about building something like this but if there is someone with a use case I’d love to chat and figure out how we can make it work together!
The big one that existing columnar databases can’t do (or not well), is the ability to search and aggregate on user defined dimensions (think prometheus-style labels). Influx 3.0 is the only other columnar database that is (now) available that was engineered specifically to be able to do this. The good folks at honeycomb came to the same conclusion that this type of columnar database (wide column) is necessary to build Observability with exceptional user experience. Plus we now own our future and can do any kind of optimization while other companies (and I’ve spoken to them) constantly fear ClickHouse relicensing or otherwise destroying their business.
//edit: we call this feature dynamic columns: https://github.com/polarsignals/frostdb#dynamic-columns
https://calendly.com/frederic-branczyk/getting-to-know-polar...