Skip to content

1.5.0: Improved "Expensive headers" info

Latest
Compare
Choose a tag to compare
@aras-p aras-p released this 13 Aug 20:10
· 7 commits to main since this release

Previously, the "expensive headers" section listed several individual include paths to a particular header, all the way from some source file. But that does not help much to figure out how a popular header is most often included. So now, for each expensive header it lists what are the most-happening include chains to it. For example:

261580 ms: /usr/include/c++/v1/algorithm (included 3389 times, avg 77 ms), included via:
  341x: BKE_context.h BLI_string_ref.hh string
  180x: DNA_mesh_types.h BLI_math_vector_types.hh array
  125x: DNA_space_types.h DNA_node_types.h DNA_node_tree_interface_types.h BLI_function_ref.hh BLI_memory_utils.hh

says that <algorithm> was included 3389 times in total, and most often via: 341 times because something included BKE_context.h (which in turn includes BLI_string_ref.hh which included <string> which in turn included <algorithm>), then 180 times because something included DNA_mesh_types.h and so on.