Slow "llvm module passes"
This crate https://github.com/snipsco/rustling-ontology takes a very long time to compile, more than I would expect. -Z time-passes show this culprit:" time: 269.113 llvm module passes [0]" accounting for ~95% of the compilation time.
From my understanding, it is atypical, so maybe there is something interesting there. I'm not too sure how to investigate more.
Does this happen in both debug mode and release mode?
bstrie at 2017-06-08 17:05:57
These figures are for a release build. For a debug build, the "llvm module pass" is really small (the codegen pass dominates).
The crate in question is actually the one called
rustling_ontology_rules.In debug:
time: 0.760 llvm function passes [0] time: 0.867 llvm module passes [0] time: 20.146 codegen passes [0] time: 0.001 codegen passes [0] time: 23.594 LLVM passesIn release:
time: 0.000 serialize dep graph time: 3.487 llvm function passes [0] time: 249.185 llvm module passes [0] time: 19.885 codegen passes [0] time: 0.001 codegen passes [0] time: 273.740 LLVM passesNote that @nikomatsakis suggestion on IRC, that is
-C codegen-unitshelps a lot alleviating the pain. It still shows some very out-of-balance repartition (with 8 for instance).Mathieu Poumeyrol at 2017-06-08 18:43:00