[libcxx-commits] [PATCH] D99124: [libc++] Simpler Python script for generating a graph of libc++'s header dependencies

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Mar 22 15:56:20 PDT 2021


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, cjdb, libc++, EricWF.
Quuxplusone added a project: libc++.
Herald added a subscriber: arichardson.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added 1 blocking reviewer(s): libc++.

I've temporarily named this script `graph_header_deps2.py` because `graph_header_deps.py` already exists — @ericwf wrote it in February 2020. My attempts to play around with `graph_header_deps.py` were mostly fruitless; I needed to modify it in various ways to make it work without a lot of structure around it, and then even when I got it working, it generated pretty ugly graphs.

Existing graph_header_deps.py usage (after my local changes to simplify the usage) (producing https://i.imgur.com/zATrsaP.jpg )

  mkdir foo
  time ./graph_header_deps.py --libcxx-only -o foo --clang-command ~/llvm-project/build/bin/clang++
  dot -Tpng < foo/all_headers.dot > old.png
  file old.png
  
  real    0m37.453s
  user    0m34.025s
  sys     0m2.742s
  old.png: PNG image data, 25882 x 3035, 8-bit/color RGBA, non-interlaced

New graph_header_deps2.py usage (producing https://i.imgur.com/ZU0G52U.png )

  time ./graph_header_deps2.py | dot -Tpng > new.png
  file new.png
  
  real    0m1.063s
  user    0m0.837s
  sys     0m0.077s
  new.png: PNG image data, 6162 x 1344, 8-bit/color RGBA, non-interlaced


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D99124

Files:
  libcxx/utils/graph_header_deps.py
  libcxx/utils/graph_header_deps2.py
  libcxx/utils/libcxx/graph.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99124.332461.patch
Type: text/x-patch
Size: 22067 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210322/cd90502c/attachment-0001.bin>


More information about the libcxx-commits mailing list