Visualizing entire Chromium include graph

60 bkryza 4 5/21/2025, 3:19:02 PM blog.bkryza.com ↗

Comments (4)

kloud · 9h ago
Great work, very cool trick using the clang commands output to get the data.

In my experiments with software visualization I found that generic graph tools like Graphviz or Gephi do not produce useful visualizations for anything beyond trivial size projects. In systems there is always a hierarchical aspect, so hierarchical graphs seem to be clearer as in comparison [0].

Unfortunately, I am not aware of a good open source hierarchical graph tool. Only one seems to be a proprietary Visual Studio DGML renderer. However, this Chrome graph with 140k nodes would also be too much, VS chokes around 25k nodes+links.

[0] https://github.com/dundalek/stratify?tab=readme-ov-file#extr...

simpaticoder · 7h ago
>this Chrome graph with 140k nodes would also be too much

I've heard the rule of thumb from Tufte is that a visualization cannot have more than 1000 elements and still be useful. However, I'm not sure he said that and I cannot find supporting evidence...but it seems right to me.

Consider that mapping programs maintain the same level of information density at every level of zoom. I'm not sure, but this might be called "semantic zoom". I remember Microsoft doing a demo of Photosynth (now defunct) years ago which demonstrated impressive results.

One approach would be to play around with grouping nodes in useful ways, perhaps even dynamically according to user input, such that the resulting bundles represent ~100 raw nodes on average yielding ~1000 bundle nodes in the top-level visualization.

dekhn · 7h ago
adrian_b · 9h ago
When I have reached the first image shown after "Visualization", I have chuckled, thinking "Yeah… this is not going to be very useful".

However, immediately after that image the author has written exactly the same thought, then further in TFA much more interesting images are shown, so I have been impressed.