I wanted to share a (hopefully useful) service for LLDB that I added recently:
If you go to https://teemperor.de/lldb-bench/ you'll now see graphs
that show the instruction count and memory usage of the last LLDB
nightlies (one per day). If you click on a graph you'll see a flame
graph that shows how much time we spent in each function when running
the benchmark. The graph should make it pretty obvious where the good
places for optimizations are.
You can see all graphs without the slide show under
The source code of every benchmark can be found here:
GitHub - Teemperor/lldb-bench: lldb-benchmarks (until this code may or may not land in lldb) If you want to add a
benchmark, just make a PR to that repository and I'll merge it. See
the README of the repo for instructions.
I'll add more benchmarks in the future, but you are welcome to add your own.
Also, if you for some reason don't appreciate my amazing GNUplot
markup skills and prefer your own graphs, you can just grab the raw
benchmark data from here: https://teemperor.de/lldb-bench/data/ The
data format is just the time, git-commit and the
instruction-count/memoryInKB value (depending if it's a `.mem.dat` or
On a side note: Today's spike in memory is related to changes in the
build setup, not a LLDB change. I don't expect too many of these
spikes to happen in the future because the benchmark framework is now
hopefully stable enough.