```
ClangBuildAnalyzer --analyze capture.bin
Analyzing build trace from 'capture.bin'...
**** Time summary:
Compilation (2453 times):
Parsing (frontend): 8269.1 s
Codegen & opts (backend): 2926.0 s
**** Files that took longest to parse (compiler frontend):
43492 ms: ./ruby/engine/CMakeFiles/rubyengine.dir/embedded_files.cxx.o
32344 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelHVAC.dir/ruby_OpenStudioModelHVAC_wrap.cxx.o
31823 ms: ./src/model/CMakeFiles/python_OpenStudioModelHVAC.dir/python_OpenStudioModelHVAC_wrap.cxx.o
24287 ms: ./src/model/CMakeFiles/python_OpenStudioModelResources.dir/python_OpenStudioModelResources_wrap.cxx.o
24156 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelResources.dir/ruby_OpenStudioModelResources_wrap.cxx.o
22654 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelStraightComponent.dir/ruby_OpenStudioModelStraightComponent_wrap.cxx.o
22366 ms: ./src/model/CMakeFiles/python_OpenStudioModelStraightComponent.dir/python_OpenStudioModelStraightComponent_wrap.cxx.o
21922 ms: ./src/utilities/CMakeFiles/openstudio_utilities.dir/embedded_files.cxx.o
17180 ms: ./src/utilities/CMakeFiles/openstudio_utilities.dir/idd/IddFactory_EnergyPlus.cxx.o
17141 ms: ./src/model/CMakeFiles/openstudio_model.dir/Model.cpp.o
**** Files that took longest to codegen (compiler backend):
141580 ms: ./src/model/CMakeFiles/python_OpenStudioModelHVAC.dir/python_OpenStudioModelHVAC_wrap.cxx.o
103410 ms: ./src/model/CMakeFiles/python_OpenStudioModelResources.dir/python_OpenStudioModelResources_wrap.cxx.o
99099 ms: ./src/model/CMakeFiles/python_OpenStudioModelStraightComponent.dir/python_OpenStudioModelStraightComponent_wrap.cxx.o
95356 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelHVAC.dir/ruby_OpenStudioModelHVAC_wrap.cxx.o
77023 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelStraightComponent.dir/ruby_OpenStudioModelStraightComponent_wrap.cxx.o
66977 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelResources.dir/ruby_OpenStudioModelResources_wrap.cxx.o
60301 ms: ./src/model/CMakeFiles/python_OpenStudioModelGeometry.dir/python_OpenStudioModelGeometry_wrap.cxx.o
52455 ms: ./src/model/CMakeFiles/python_OpenStudioModelCore.dir/python_OpenStudioModelCore_wrap.cxx.o
52090 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelGeometry.dir/ruby_OpenStudioModelGeometry_wrap.cxx.o
49565 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelCore.dir/ruby_OpenStudioModelCore_wrap.cxx.o
**** Templates that took longest to instantiate:
104447 ms: EnumBase<openstudio::IddFileType>::EnumBase (4151 times, avg 25 ms)
104176 ms: EnumBase<openstudio::IddFileType>::lookupValue (4150 times, avg 25 ms)
61562 ms: boost::date_time::parse_iso_time<boost::posix_time::ptime> (1600 times, avg 38 ms)
48275 ms: EnumBase<openstudio::IddFileType>::getValues (2045 times, avg 23 ms)
48085 ms: EnumBase<openstudio::IddFileType>::buildValues (2038 times, avg 23 ms)
46871 ms: boost::date_time::parse_date<boost::gregorian::date> (1600 times, avg 29 ms)
43410 ms: EnumBase<openstudio::IddFileType>::getLookupMap (2023 times, avg 21 ms)
42662 ms: EnumBase<openstudio::IddFileType>::buildLookupMap (2023 times, avg 21 ms)
42148 ms: boost::date_time::special_values_parser<boost::gregorian::date, char... (1600 times, avg 26 ms)
37549 ms: boost::multi_index::multi_index_container<openstudio::detail::DataDi... (560 times, avg 67 ms)
36684 ms: boost::date_time::special_values_parser<boost::gregorian::date, char... (1600 times, avg 22 ms)
31536 ms: EnumBase<openstudio::IddFileType>::getNames (2027 times, avg 15 ms)
30920 ms: EnumBase<openstudio::IddFileType>::buildStrings (2027 times, avg 15 ms)
30093 ms: std::map<std::string, int>::operator[] (2276 times, avg 13 ms)
29908 ms: std::map<int, std::string>::operator[] (2339 times, avg 12 ms)
27807 ms: boost::date_time::month_str_to_ushort<boost::gregorian::greg_month> (1600 times, avg 17 ms)
27614 ms: boost::gregorian::to_simple_string_type<wchar_t> (1601 times, avg 17 ms)
26245 ms: std::vector<std::pair<bool, boost::re_detail_500::re_syntax_base *>>... (2373 times, avg 11 ms)
26077 ms: std::vector<std::pair<bool, boost::re_detail_500::re_syntax_base *>>... (2373 times, avg 10 ms)
25404 ms: testing::internal::ValueArray<bool, bool>::operator ParamGenerator<b... (839 times, avg 30 ms)
25260 ms: std::vector<std::pair<std::string, int>>::push_back (2269 times, avg 11 ms)
25215 ms: boost::date_time::string_parse_tree<char>::string_parse_tree (3200 times, avg 7 ms)
25107 ms: std::vector<std::pair<std::string, int>>::emplace_back<std::pair<std... (2269 times, avg 11 ms)
24694 ms: boost::basic_regex<char>::assign (125 times, avg 197 ms)
24375 ms: std::basic_string<char>::rbegin (2457 times, avg 9 ms)
23070 ms: std::vector<boost::re_detail_500::named_subexpressions::name>::push_... (2373 times, avg 9 ms)
22950 ms: std::vector<boost::re_detail_500::named_subexpressions::name>::empla... (2373 times, avg 9 ms)
22917 ms: std::vector<std::pair<bool, boost::re_detail_500::re_syntax_base *>>... (2373 times, avg 9 ms)
22068 ms: std::vector<std::pair<std::string, int>>::__emplace_back_slow_path<s... (2269 times, avg 9 ms)
20973 ms: std::vector<boost::re_detail_500::named_subexpressions::name>::__emp... (2373 times, avg 8 ms)
**** Template sets that took longest to instantiate:
179270 ms: std::vector<$> (71987 times, avg 2 ms)
138054 ms: EnumBase<$>::EnumBase (18639 times, avg 7 ms)
135672 ms: EnumBase<$>::lookupValue (17197 times, avg 7 ms)
124366 ms: std::vector<$>::emplace_back<$> (14104 times, avg 8 ms)
122786 ms: std::vector<$>::push_back (13845 times, avg 8 ms)
116431 ms: std::reverse_iterator<$> (19203 times, avg 6 ms)
108129 ms: std::vector<$>::__emplace_back_slow_path<$> (11567 times, avg 9 ms)
102687 ms: std::vector<$>::__swap_out_circular_buffer (13837 times, avg 7 ms)
96171 ms: std::__make_exception_guard<$> (20520 times, avg 4 ms)
94071 ms: std::__uninitialized_allocator_relocate<$> (13680 times, avg 6 ms)
91958 ms: std::__exception_guard_exceptions<$>::~__exception_guard_exceptions (20434 times, avg 4 ms)
77278 ms: std::__tree<$> (30458 times, avg 2 ms)
75613 ms: std::vector<$>::__init_with_size<$> (11368 times, avg 6 ms)
75418 ms: std::allocator_traits<$> (47318 times, avg 1 ms)
74263 ms: std::map<$> (18672 times, avg 3 ms)
71295 ms: std::vector<$>::vector (12210 times, avg 5 ms)
69703 ms: std::vector<$>::__construct_at_end<$> (12535 times, avg 5 ms)
62856 ms: EnumBase<$>::getValues (6718 times, avg 9 ms)
62036 ms: EnumBase<$>::buildValues (6414 times, avg 9 ms)
61562 ms: boost::date_time::parse_iso_time<$> (1600 times, avg 38 ms)
52931 ms: std::__uninitialized_allocator_copy<$> (10836 times, avg 4 ms)
51841 ms: std::pair<$> (48604 times, avg 1 ms)
51615 ms: EnumBase<$>::getLookupMap (3874 times, avg 13 ms)
50316 ms: EnumBase<$>::buildLookupMap (3326 times, avg 15 ms)
48697 ms: std::__tree<$>::__emplace_unique_key_args<$> (7543 times, avg 6 ms)
46871 ms: boost::date_time::parse_date<$> (1600 times, avg 29 ms)
44832 ms: std::__copy_move_unwrap_iters<$> (15918 times, avg 2 ms)
43177 ms: std::unique_ptr<$> (39470 times, avg 1 ms)
42256 ms: std::__copy<$> (10921 times, avg 3 ms)
42148 ms: boost::date_time::special_values_parser<$>::special_values_parser (1600 times, avg 26 ms)
**** Functions that took longest to compile:
11399 ms: openstudio::radiance::ForwardTranslator::buildingSpaces(boost::files... (/Users/julien/Software/Others/OpenStudio/src/radiance/ForwardTranslator.cpp)
3055 ms: Init_openstudiomodelhvac (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelHVAC_wrap.cxx)
2787 ms: Init_openstudiomodelstraightcomponent (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelStraightComponent_wrap.cxx)
2396 ms: Init_openstudiomodelresources (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelResources_wrap.cxx)
1959 ms: openstudio::model::detail::Model_Impl::ModelObjectCreator::ModelObje... (/Users/julien/Software/Others/OpenStudio/src/model/Model.cpp)
1560 ms: Init_openstudiomodelgeometry (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelGeometry_wrap.cxx)
1552 ms: openstudio::IddFactory::IddFactory() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory.cxx)
1294 ms: openstudio::isomodel::ForwardTranslator::translateModel(openstudio::... (/Users/julien/Software/Others/OpenStudio/src/isomodel/ForwardTranslator.cpp)
1145 ms: Init_openstudiomodelcore (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelCore_wrap.cxx)
1031 ms: openstudio::model::detail::OutputTableMonthly_Impl::standardReports() (/Users/julien/Software/Others/OpenStudio/src/model/OutputTableMonthly.cpp)
993 ms: Init_openstudiomodelzonehvac (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelZoneHVAC_wrap.cxx)
886 ms: Init_openstudiomodelgenerators (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelGenerators_wrap.cxx)
883 ms: openstudio::IddFactory::registerEnergyPlusObjectsInCallbackMap() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory_EnergyPlus.cxx)
754 ms: ModelFixture_CoilCoolingDXSingleSpeedThermalStorage_GettersSetters_T... (/Users/julien/Software/Others/OpenStudio/src/model/test/CoilCoolingDXSingleSpeedThermalStorage_GTest.cpp)
748 ms: openstudio::sdd::ReverseTranslator::translateSDD(pugi::xml_node cons... (/Users/julien/Software/Others/OpenStudio/src/sdd/ReverseTranslator.cpp)
709 ms: gbXMLFixture_ForwardTranslator_IDs_Names_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/gbxml/Test/ForwardTranslator_GTest.cpp)
652 ms: EnergyPlusFixture_ForwardTranslator_HeatPumpAirToWater_Test::TestBod... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/HeatPumpAirToWater_GTest.cpp)
648 ms: openstudio::model::ThreeJSReverseTranslator::modelFromThreeJS(openst... (/Users/julien/Software/Others/OpenStudio/src/model/ThreeJSReverseTranslator.cpp)
640 ms: openstudio::gltf::GltfUserData::GltfUserData(tinygltf::Value const&) (/Users/julien/Software/Others/OpenStudio/src/gltf/GltfUserData.cpp)
638 ms: EnergyPlusFixture_ForwardTranslator_CoilCoolingDXSingleSpeedThermalS... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/CoilCoolingDXSingleSpeedThermalStorage_GTest.cpp)
590 ms: openstudio::model::ScheduleTypeRegistry::ScheduleTypeRegistry() (/Users/julien/Software/Others/OpenStudio/src/model/ScheduleTypeRegistry.cpp)
554 ms: ModelFixture_ChillerElectricASHRAE205_Loops_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/model/test/ChillerElectricASHRAE205_GTest.cpp)
527 ms: EnergyPlusFixture_ForwardTranslatorZoneMixing_DifferentZones_Test::T... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/ZoneMixing_GTest.cpp)
506 ms: EnergyPlusFixture_ForwardTranslator_AirLoopHVACUnitarySystem_Nodes_T... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/AirLoopHVACUnitarySystem_GTest.cpp)
502 ms: tinygltf::SerializeGltfModel(tinygltf::Model const*, nlohmann::json_... (/Users/julien/Software/Others/OpenStudio/src/gltf/GltfForwardTranslator.cpp)
497 ms: openstudio::osversion::VersionTranslator::update_3_6_1_to_3_7_0(open... (/Users/julien/Software/Others/OpenStudio/src/osversion/VersionTranslator.cpp)
494 ms: openstudio::FloorplanJS::makeGeometries(Json::Value const&, Json::Va... (/Users/julien/Software/Others/OpenStudio/src/utilities/geometry/FloorplanJS.cpp)
471 ms: ISOModelFixture_UserModel_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/isomodel/Test/UserModel_GTest.cpp)
461 ms: Init_openstudiomodelsimulation (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelSimulation_wrap.cxx)
446 ms: openstudio::energyplus::GeometryTranslator::convertSimpleSurfaces(op... (/Users/julien/Software/Others/OpenStudio/src/energyplus/GeometryTranslator.cpp)
**** Function sets that took longest to compile / optimize:
12173 ms: std::__1::__wrap_iter<$> std::__1::vector<$>::__insert_with_size[abi... (1520 times, avg 8 ms)
11399 ms: openstudio::radiance::ForwardTranslator::buildingSpaces(boost::files... (1 times, avg 11399 ms)
6928 ms: EnumBase<$>::buildStrings(bool) (2478 times, avg 2 ms)
6259 ms: EnumBase<$>::lookupValue(int) (2311 times, avg 2 ms)
5879 ms: std::__1::vector<$> openstudio::model::Model::getConcreteModelObject... (1996 times, avg 2 ms)
5423 ms: std::__1::basic_stringstream<$>::basic_stringstream[abi:nqe210106]() (1854 times, avg 2 ms)
5408 ms: void swig::setslice<$>(std::__1::vector<$>*, long, long, long, std::... (713 times, avg 7 ms)
5142 ms: std::__1::vector<$>* swig::getslice<$>(std::__1::vector<$> const*, l... (713 times, avg 7 ms)
4620 ms: EnumBase<$>::buildValues() (2312 times, avg 1 ms)
4531 ms: void swig::delslice<$>(std::__1::vector<$>*, long, long, long) (713 times, avg 6 ms)
4022 ms: std::__1::ostreambuf_iterator<$> std::__1::__pad_and_output[abi:nqe2... (1939 times, avg 2 ms)
3834 ms: boost::optional<$> openstudio::IdfObject::optionalCast<$>() const (2979 times, avg 1 ms)
3805 ms: std::__1::basic_string<$>& std::__1::basic_string<$>::__assign_no_al... (3217 times, avg 1 ms)
3800 ms: std::__1::vector<$>::reserve(unsigned long) (2683 times, avg 1 ms)
3699 ms: void std::__1::__tree_balance_after_insert[abi:nqe210106]<$>(std::__... (1758 times, avg 2 ms)
3679 ms: std::__1::basic_ostream<$>& std::__1::__put_character_sequence[abi:n... (1939 times, avg 1 ms)
3648 ms: std::__1::basic_stringbuf<$>::__init_buf_ptrs[abi:nqe210106]() (1885 times, avg 1 ms)
3161 ms: boost::re_detail_500::basic_regex_parser<$>::parse_perl_extension() (59 times, avg 53 ms)
3074 ms: std::__1::vector<$>::~vector[abi:nqe210106]() (2025 times, avg 1 ms)
2959 ms: std::__1::vector<$> openstudio::model::Model::getModelObjectsByName<... (1098 times, avg 2 ms)
2690 ms: std::__1::vector<$> openstudio::model::Model::getConcreteModelObject... (992 times, avg 2 ms)
2422 ms: swig::traits_asptr_stdseq<$>::asptr(unsigned long, std::__1::vector<... (761 times, avg 3 ms)
2323 ms: boost::re_detail_500::basic_regex_creator<$>::append_set(boost::re_d... (118 times, avg 19 ms)
2295 ms: swig::traits_info<$>::type_info() (2820 times, avg 0 ms)
2204 ms: swig::traits_asptr_stdseq<$>::asptr(_object*, std::__1::vector<$>**) (761 times, avg 2 ms)
2121 ms: boost::optional<$> openstudio::model::Model::getConcreteModelObjectB... (1074 times, avg 1 ms)
2094 ms: boost::optional<$>::~optional() (1240 times, avg 1 ms)
2045 ms: boost::optional<$> openstudio::model::Model::getModelObject<$>(opens... (1120 times, avg 1 ms)
1742 ms: std::__1::vector<$>* swig::getslice<$>(std::__1::vector<$> const*, i... (713 times, avg 2 ms)
1665 ms: std::__1::vector<$>::vector[abi:nqe210106](std::__1::vector<$> const&) (1168 times, avg 1 ms)
**** Expensive headers:
3555838 ms: /Users/julien/Software/Others/OpenStudio/src/model/ModelObject.hpp (included 2072 times, avg 1716 ms), included via:
672x: ForwardTranslator.hpp Model.hpp
490x: ModelFixture.hpp Model.hpp
182x: ReverseTranslator.hpp Model.hpp
84x: Model.hpp
15x: OSWorkflow.hpp OSRunner.hpp Model.hpp
10x: OSRunner.hpp Model.hpp
...
3492746 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/idf/IdfObject.hpp (included 2135 times, avg 1635 ms), included via:
672x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp
490x: ModelFixture.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp
182x: ReverseTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp
83x: Model.hpp ModelObject.hpp WorkspaceObject.hpp
27x: <direct include>
15x: OSWorkflow.hpp OSRunner.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp
...
3452893 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/idf/WorkspaceObject.hpp (included 2098 times, avg 1645 ms), included via:
672x: ForwardTranslator.hpp Model.hpp ModelObject.hpp
490x: ModelFixture.hpp Model.hpp ModelObject.hpp
182x: ReverseTranslator.hpp Model.hpp ModelObject.hpp
83x: Model.hpp ModelObject.hpp
25x: <direct include>
15x: OSWorkflow.hpp OSRunner.hpp Model.hpp ModelObject.hpp
...
2833626 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/Logger.hpp (included 2359 times, avg 1201 ms), included via:
490x: ModelFixture.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
461x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
214x: EnergyPlusFixture.hpp
181x: ReverseTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
63x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
19x: Assert.hpp
...
2674027 ms: /Users/julien/Software/Others/OpenStudio/src/model/Model.hpp (included 1865 times, avg 1433 ms), included via:
673x: ForwardTranslator.hpp
490x: ModelFixture.hpp
476x: <direct include>
182x: ReverseTranslator.hpp
15x: OSWorkflow.hpp OSRunner.hpp
10x: OSRunner.hpp
...
2218866 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/LogMessage.hpp (included 2362 times, avg 939 ms), included via:
490x: ModelFixture.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp
461x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp
214x: EnergyPlusFixture.hpp Logger.hpp
181x: ReverseTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp
63x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp
19x: IdfObject.hpp Logger.hpp
...
1400000 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/UUID.hpp (included 2178 times, avg 642 ms), included via:
672x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp
490x: ModelFixture.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp
181x: ReverseTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp
73x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp
21x: IdfObject.hpp Handle.hpp
15x: OSWorkflow.hpp OSRunner.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp
...
1394035 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/idf/Handle.hpp (included 2132 times, avg 653 ms), included via:
672x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
490x: ModelFixture.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
181x: ReverseTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
73x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
21x: IdfObject.hpp
15x: OSWorkflow.hpp OSRunner.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
...
1287461 ms: /Users/julien/Software/Others/OpenStudio/src/model/test/ModelFixture.hpp (included 490 times, avg 2627 ms), included via:
490x: <direct include>
1267685 ms: /Users/julien/.conan2/p/boost43f2563a0ca26/p/include/boost/regex.hpp (included 2373 times, avg 534 ms), included via:
490x: ModelFixture.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp UUID.hpp
461x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp UUID.hpp
214x: EnergyPlusFixture.hpp Logger.hpp LogSink.hpp
181x: ReverseTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp UUID.hpp
63x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Handle.hpp UUID.hpp
17x: IdfObject.hpp Handle.hpp UUID.hpp
...
done in 2.7s.
```
After
┌──────────┬────────────┬───────────┬──────────────────┐
│ │ Before PCH │ After PCH │ Delta │
├──────────┼────────────┼───────────┼──────────────────┤
│ Frontend │ 8269 s │ 3482 s │ -58% │
├──────────┼────────────┼───────────┼──────────────────┤
│ Backend │ 2926 s │ 3037 s │ ~flat (expected) │
└──────────┴────────────┴───────────┴──────────────────┘
The PCH is clearly working — ModelObject.hpp, IdfObject.hpp, WorkspaceObject.hpp, Model.hpp, UUID.hpp, boost/regex.hpp have all vanished from the expensive headers list.
```
Analyzing build trace from 'capture_pch.bin'...
**** Time summary:
Compilation (2455 times):
Parsing (frontend): 3482.1 s
Codegen & opts (backend): 3036.7 s
**** Files that took longest to parse (compiler frontend):
44954 ms: ./ruby/engine/CMakeFiles/rubyengine.dir/embedded_files.cxx.o
31722 ms: ./src/model/CMakeFiles/python_OpenStudioModelHVAC.dir/python_OpenStudioModelHVAC_wrap.cxx.o
29898 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelResources.dir/ruby_OpenStudioModelResources_wrap.cxx.o
29226 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelStraightComponent.dir/ruby_OpenStudioModelStraightComponent_wrap.cxx.o
26784 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelHVAC.dir/ruby_OpenStudioModelHVAC_wrap.cxx.o
24015 ms: ./src/model/CMakeFiles/python_OpenStudioModelResources.dir/python_OpenStudioModelResources_wrap.cxx.o
23551 ms: ./src/utilities/CMakeFiles/openstudio_utilities.dir/embedded_files.cxx.o
22328 ms: ./src/model/CMakeFiles/python_OpenStudioModelStraightComponent.dir/python_OpenStudioModelStraightComponent_wrap.cxx.o
20502 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelGeometry.dir/ruby_OpenStudioModelGeometry_wrap.cxx.o
17939 ms: ./src/utilities/CMakeFiles/openstudio_utilities.dir/idd/IddFactory_EnergyPlus.cxx.o
**** Files that took longest to codegen (compiler backend):
121860 ms: ./src/model/CMakeFiles/python_OpenStudioModelHVAC.dir/python_OpenStudioModelHVAC_wrap.cxx.o
112898 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelHVAC.dir/ruby_OpenStudioModelHVAC_wrap.cxx.o
97915 ms: ./src/model/CMakeFiles/python_OpenStudioModelResources.dir/python_OpenStudioModelResources_wrap.cxx.o
94005 ms: ./src/model/CMakeFiles/python_OpenStudioModelStraightComponent.dir/python_OpenStudioModelStraightComponent_wrap.cxx.o
83890 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelResources.dir/ruby_OpenStudioModelResources_wrap.cxx.o
64953 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelStraightComponent.dir/ruby_OpenStudioModelStraightComponent_wrap.cxx.o
64465 ms: ./src/model/CMakeFiles/python_OpenStudioModelGeometry.dir/python_OpenStudioModelGeometry_wrap.cxx.o
53453 ms: ./src/model/CMakeFiles/python_OpenStudioModelCore.dir/python_OpenStudioModelCore_wrap.cxx.o
52658 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelGeometry.dir/ruby_OpenStudioModelGeometry_wrap.cxx.o
43522 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelCore.dir/ruby_OpenStudioModelCore_wrap.cxx.o
**** Templates that took longest to instantiate:
180243 ms: EnumBase<openstudio::IddFileType>::EnumBase (4410 times, avg 40 ms)
179250 ms: EnumBase<openstudio::IddFileType>::lookupValue (4407 times, avg 40 ms)
88930 ms: EnumBase<openstudio::IddFileType>::getValues (2195 times, avg 40 ms)
88353 ms: EnumBase<openstudio::IddFileType>::buildValues (2188 times, avg 40 ms)
75915 ms: boost::date_time::parse_iso_time<boost::posix_time::ptime> (1600 times, avg 47 ms)
71570 ms: EnumBase<openstudio::IddFileType>::getLookupMap (2186 times, avg 32 ms)
70621 ms: EnumBase<openstudio::IddFileType>::buildLookupMap (2185 times, avg 32 ms)
62967 ms: boost::date_time::parse_date<boost::gregorian::date> (1600 times, avg 39 ms)
60378 ms: EnumBase<openstudio::IddFileType>::getNames (2187 times, avg 27 ms)
59226 ms: EnumBase<openstudio::IddFileType>::buildStrings (2187 times, avg 27 ms)
51979 ms: boost::date_time::special_values_parser<boost::gregorian::date, char... (1600 times, avg 32 ms)
50993 ms: std::map<int, std::string>::operator[] (2384 times, avg 21 ms)
49466 ms: boost::multi_index::multi_index_container<openstudio::detail::DataDi... (560 times, avg 88 ms)
45848 ms: boost::date_time::special_values_parser<boost::gregorian::date, char... (1600 times, avg 28 ms)
38961 ms: std::map<std::string, int>::operator[] (2321 times, avg 16 ms)
36839 ms: boost::gregorian::to_simple_string_type<wchar_t> (1603 times, avg 22 ms)
36056 ms: testing::internal::ValueArray<bool, bool>::operator ParamGenerator<b... (839 times, avg 42 ms)
33886 ms: boost::date_time::month_str_to_ushort<boost::gregorian::greg_month> (1600 times, avg 21 ms)
30918 ms: boost::basic_regex<char>::assign (125 times, avg 247 ms)
29262 ms: boost::date_time::string_parse_tree<char>::string_parse_tree (3200 times, avg 9 ms)
27989 ms: std::__tree<std::__value_type<int, std::string>, std::__map_value_co... (2319 times, avg 12 ms)
27400 ms: boost::multi_index::detail::multi_index_node_type<openstudio::detail... (560 times, avg 48 ms)
27191 ms: boost::algorithm::to_upper_copy<std::string> (2319 times, avg 11 ms)
26787 ms: boost::algorithm::detail::transform_range_copy<std::string, std::str... (2319 times, avg 11 ms)
26709 ms: boost::re_detail_500::get_default_class_id<char> (2405 times, avg 11 ms)
26200 ms: std::map<std::string, unsigned short>::map (1600 times, avg 16 ms)
26107 ms: std::vector<std::string>::push_back (2501 times, avg 10 ms)
25240 ms: std::__tree<std::__value_type<std::string, int>, std::__map_value_co... (2319 times, avg 10 ms)
24535 ms: boost::mpl::reverse_iter_fold<boost::multi_index::indexed_by<boost::... (560 times, avg 43 ms)
23230 ms: std::map<std::string, unsigned short>::insert<const std::pair<const ... (1600 times, avg 14 ms)
**** Template sets that took longest to instantiate:
218132 ms: EnumBase<$>::EnumBase (26410 times, avg 8 ms)
210761 ms: EnumBase<$>::lookupValue (18765 times, avg 11 ms)
103820 ms: EnumBase<$>::getValues (7194 times, avg 14 ms)
102549 ms: EnumBase<$>::buildValues (6835 times, avg 15 ms)
78880 ms: EnumBase<$>::getLookupMap (3915 times, avg 20 ms)
77307 ms: EnumBase<$>::buildLookupMap (3501 times, avg 22 ms)
76837 ms: std::vector<$> (27202 times, avg 2 ms)
75915 ms: boost::date_time::parse_iso_time<$> (1600 times, avg 47 ms)
73273 ms: std::reverse_iterator<$> (10521 times, avg 6 ms)
71647 ms: EnumBase<$>::getNames (6195 times, avg 11 ms)
69896 ms: EnumBase<$>::buildStrings (6103 times, avg 11 ms)
69847 ms: std::vector<$>::emplace_back<$> (7787 times, avg 8 ms)
69033 ms: std::__tree<$>::__emplace_unique_key_args<$> (7686 times, avg 8 ms)
67716 ms: std::vector<$>::push_back (7517 times, avg 9 ms)
62967 ms: boost::date_time::parse_date<$> (1600 times, avg 39 ms)
62399 ms: std::vector<$>::__swap_out_circular_buffer (7378 times, avg 8 ms)
60854 ms: std::__make_exception_guard<$> (9714 times, avg 6 ms)
59889 ms: std::vector<$>::__construct_at_end<$> (8132 times, avg 7 ms)
59276 ms: std::vector<$>::__emplace_back_slow_path<$> (5168 times, avg 11 ms)
58353 ms: std::__exception_guard_exceptions<$>::~__exception_guard_exceptions (9587 times, avg 6 ms)
56561 ms: std::__uninitialized_allocator_relocate<$> (7232 times, avg 7 ms)
55287 ms: std::vector<$>::__init_with_size<$> (6964 times, avg 7 ms)
53801 ms: std::vector<$>::vector (8444 times, avg 6 ms)
51979 ms: boost::date_time::special_values_parser<$>::special_values_parser (1600 times, avg 32 ms)
50993 ms: std::map<int, std::string>::operator[] (2384 times, avg 21 ms)
50306 ms: boost::gregorian::to_simple_string_type<$> (4798 times, avg 10 ms)
49466 ms: boost::multi_index::multi_index_container<$> (560 times, avg 88 ms)
47534 ms: std::__tree<$> (17966 times, avg 2 ms)
45848 ms: boost::date_time::special_values_parser<$>::sv_strings (1600 times, avg 28 ms)
45213 ms: boost::date_time::date_formatter<$>::date_to_string (9600 times, avg 4 ms)
**** Functions that took longest to compile:
10544 ms: openstudio::radiance::ForwardTranslator::buildingSpaces(boost::files... (/Users/julien/Software/Others/OpenStudio/src/radiance/ForwardTranslator.cpp)
4053 ms: Init_openstudiomodelhvac (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelHVAC_wrap.cxx)
2696 ms: Init_openstudiomodelresources (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelResources_wrap.cxx)
2054 ms: Init_openstudiomodelstraightcomponent (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelStraightComponent_wrap.cxx)
1957 ms: openstudio::IddFactory::IddFactory() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory.cxx)
1806 ms: Init_openstudiomodelgeometry (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelGeometry_wrap.cxx)
1753 ms: openstudio::model::detail::Model_Impl::ModelObjectCreator::ModelObje... (/Users/julien/Software/Others/OpenStudio/src/model/Model.cpp)
1508 ms: openstudio::isomodel::ForwardTranslator::translateModel(openstudio::... (/Users/julien/Software/Others/OpenStudio/src/isomodel/ForwardTranslator.cpp)
1157 ms: Init_openstudiomodelcore (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelCore_wrap.cxx)
1126 ms: openstudio::model::detail::OutputTableMonthly_Impl::standardReports() (/Users/julien/Software/Others/OpenStudio/src/model/OutputTableMonthly.cpp)
1038 ms: openstudio::IddFactory::registerEnergyPlusObjectsInCallbackMap() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory_EnergyPlus.cxx)
931 ms: Init_openstudiomodelgenerators (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelGenerators_wrap.cxx)
900 ms: Init_openstudiomodelzonehvac (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelZoneHVAC_wrap.cxx)
773 ms: EnergyPlusFixture_ForwardTranslator_HeatPumpAirToWater_Test::TestBod... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/HeatPumpAirToWater_GTest.cpp)
760 ms: gbXMLFixture_ForwardTranslator_IDs_Names_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/gbxml/Test/ForwardTranslator_GTest.cpp)
746 ms: ModelFixture_CoilCoolingDXSingleSpeedThermalStorage_GettersSetters_T... (/Users/julien/Software/Others/OpenStudio/src/model/test/CoilCoolingDXSingleSpeedThermalStorage_GTest.cpp)
716 ms: openstudio::sdd::ReverseTranslator::translateSDD(pugi::xml_node cons... (/Users/julien/Software/Others/OpenStudio/src/sdd/ReverseTranslator.cpp)
628 ms: openstudio::model::ScheduleTypeRegistry::ScheduleTypeRegistry() (/Users/julien/Software/Others/OpenStudio/src/model/ScheduleTypeRegistry.cpp)
599 ms: openstudio::energyplus::GeometryTranslator::convertSimpleSurfaces(op... (/Users/julien/Software/Others/OpenStudio/src/energyplus/GeometryTranslator.cpp)
594 ms: EnergyPlusFixture_ForwardTranslator_AirLoopHVACUnitarySystem_Nodes_T... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/AirLoopHVACUnitarySystem_GTest.cpp)
588 ms: openstudio::model::ThreeJSReverseTranslator::modelFromThreeJS(openst... (/Users/julien/Software/Others/OpenStudio/src/model/ThreeJSReverseTranslator.cpp)
588 ms: openstudio::gltf::GltfUserData::GltfUserData(tinygltf::Value const&) (/Users/julien/Software/Others/OpenStudio/src/gltf/GltfUserData.cpp)
570 ms: tinygltf::SerializeGltfModel(tinygltf::Model const*, nlohmann::json_... (/Users/julien/Software/Others/OpenStudio/src/gltf/GltfForwardTranslator.cpp)
541 ms: EnergyPlusFixture_ForwardTranslator_CoilCoolingDXSingleSpeedThermalS... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/CoilCoolingDXSingleSpeedThermalStorage_GTest.cpp)
540 ms: ModelFixture_ChillerElectricASHRAE205_Loops_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/model/test/ChillerElectricASHRAE205_GTest.cpp)
539 ms: Init_openstudiomodelairflow (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelAirflow_wrap.cxx)
520 ms: EnergyPlusFixture_ForwardTranslatorZoneMixing_DifferentZones_Test::T... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/ZoneMixing_GTest.cpp)
510 ms: openstudio::IddFactory::registerOpenStudioObjectsInCallbackMap() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory_OpenStudio.cxx)
509 ms: ModelFixture_SizingZone_GettersSetters_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/model/test/SizingZone_GTest.cpp)
480 ms: openstudio::FloorplanJS::makeGeometries(Json::Value const&, Json::Va... (/Users/julien/Software/Others/OpenStudio/src/utilities/geometry/FloorplanJS.cpp)
**** Function sets that took longest to compile / optimize:
12900 ms: std::__1::__wrap_iter<$> std::__1::vector<$>::__insert_with_size[abi... (1520 times, avg 8 ms)
10544 ms: openstudio::radiance::ForwardTranslator::buildingSpaces(boost::files... (1 times, avg 10544 ms)
7245 ms: EnumBase<$>::buildStrings(bool) (2478 times, avg 2 ms)
6687 ms: EnumBase<$>::lookupValue(int) (2311 times, avg 2 ms)
6286 ms: std::__1::vector<$> openstudio::model::Model::getConcreteModelObject... (1996 times, avg 3 ms)
5663 ms: std::__1::basic_stringstream<$>::basic_stringstream[abi:nqe210106]() (1854 times, avg 3 ms)
5344 ms: EnumBase<$>::buildValues() (2312 times, avg 2 ms)
4955 ms: void swig::setslice<$>(std::__1::vector<$>*, long, long, long, std::... (713 times, avg 6 ms)
4599 ms: std::__1::vector<$>* swig::getslice<$>(std::__1::vector<$> const*, l... (713 times, avg 6 ms)
4226 ms: std::__1::ostreambuf_iterator<$> std::__1::__pad_and_output[abi:nqe2... (1939 times, avg 2 ms)
4188 ms: boost::optional<$> openstudio::IdfObject::optionalCast<$>() const (2979 times, avg 1 ms)
4110 ms: void std::__1::__tree_balance_after_insert[abi:nqe210106]<$>(std::__... (1758 times, avg 2 ms)
4032 ms: std::__1::basic_string<$>& std::__1::basic_string<$>::__assign_no_al... (3169 times, avg 1 ms)
4024 ms: std::__1::basic_ostream<$>& std::__1::__put_character_sequence[abi:n... (1939 times, avg 2 ms)
4002 ms: void swig::delslice<$>(std::__1::vector<$>*, long, long, long) (713 times, avg 5 ms)
3745 ms: std::__1::basic_stringbuf<$>::__init_buf_ptrs[abi:nqe210106]() (1885 times, avg 1 ms)
3645 ms: std::__1::vector<$>::reserve(unsigned long) (2683 times, avg 1 ms)
3405 ms: std::__1::vector<$>::~vector[abi:nqe210106]() (2191 times, avg 1 ms)
3338 ms: boost::re_detail_500::basic_regex_parser<$>::parse_perl_extension() (59 times, avg 56 ms)
3141 ms: std::__1::vector<$> openstudio::model::Model::getModelObjectsByName<... (1098 times, avg 2 ms)
2817 ms: std::__1::vector<$> openstudio::model::Model::getConcreteModelObject... (992 times, avg 2 ms)
2515 ms: swig::traits_asptr_stdseq<$>::asptr(unsigned long, std::__1::vector<... (761 times, avg 3 ms)
2370 ms: boost::optional<$>::~optional() (1297 times, avg 1 ms)
2359 ms: swig::traits_info<$>::type_info() (2833 times, avg 0 ms)
2218 ms: boost::re_detail_500::basic_regex_creator<$>::append_set(boost::re_d... (118 times, avg 18 ms)
2163 ms: boost::optional<$> openstudio::model::Model::getModelObject<$>(opens... (1120 times, avg 1 ms)
2118 ms: boost::optional<$> openstudio::model::Model::getConcreteModelObjectB... (1074 times, avg 1 ms)
1980 ms: void swig::setslice<$>(std::__1::vector<$>*, long, long, std::__1::v... (713 times, avg 2 ms)
1943 ms: std::__1::shared_ptr<$>::~shared_ptr[abi:nqe210106]() (921 times, avg 2 ms)
1897 ms: swig::traits_asptr_stdseq<$>::asptr(_object*, std::__1::vector<$>**) (761 times, avg 2 ms)
**** Expensive headers:
442266 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/sql/SqlFile.hpp (included 559 times, avg 791 ms), included via:
490x: ModelFixture.hpp
39x: <direct include>
15x: OSWorkflow.hpp OSRunner.hpp
12x: OSRunner.hpp
3x: SqlFileFixture.hpp
416310 ms: /Users/julien/Software/Others/OpenStudio/src/model/test/ModelFixture.hpp (included 490 times, avg 849 ms), included via:
490x: <direct include>
206760 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/Logger.hpp (included 167 times, avg 1238 ms), included via:
34x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
17x: IdfObject.hpp
14x: OSWorkflow.hpp OSRunner.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp
7x: ReverseTranslator.hpp
6x: Assert.hpp
5x: <direct include>
...
164337 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/LogMessage.hpp (included 168 times, avg 978 ms), included via:
34x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp
17x: IdfObject.hpp Logger.hpp
14x: OSWorkflow.hpp OSRunner.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp
7x: ReverseTranslator.hpp Logger.hpp
5x: ReverseTranslator.hpp Logger.hpp
5x: Assert.hpp Logger.hpp
...
159277 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/data/TimeSeries.hpp (included 644 times, avg 247 ms), included via:
490x: ModelFixture.hpp SqlFile.hpp SqlFileDataDictionary.hpp
34x: ScheduleDay_Impl.hpp
30x: ConcreteModelObjects.hpp ScheduleDay_Impl.hpp
28x: SqlFile.hpp SqlFileDataDictionary.hpp
15x: OSWorkflow.hpp OSRunner.hpp SqlFile.hpp SqlFileDataDictionary.hpp
15x: <direct include>
...
156522 ms: /Users/julien/.conan2/p/gtestc7bc09ec8a5ac/p/include/gtest/gtest.h (included 839 times, avg 186 ms), included via:
779x: <direct include>
42x: ModelFixture.hpp
1x: BCLFixture.hpp
1x: SqlFileFixture.hpp
1x: IddFixture.hpp
1x: EnergyPlusFixture.hpp
...
148256 ms: /Users/julien/Software/Others/OpenStudio/src/model/Model_Impl.hpp (included 419 times, avg 353 ms), included via:
408x: <direct include>
6x: ZoneHVACBaseboardConvectiveWater_Impl.hpp
3x: Component_Impl.hpp
2x: ConcreteModelObjects.hpp ZoneHVACBaseboardConvectiveWater_Impl.hpp
131016 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/time/Date.hpp (included 946 times, avg 138 ms), included via:
490x: ModelFixture.hpp SqlFile.hpp SqlFileDataDictionary.hpp TimeSeries.hpp
297x: Model_Impl.hpp SiteGroundTemperatureBuildingSurface.hpp
25x: ScheduleDay_Impl.hpp TimeSeries.hpp
16x: SqlFile.hpp SqlFileDataDictionary.hpp TimeSeries.hpp
15x: OSWorkflow.hpp OSRunner.hpp SqlFile.hpp SqlFileDataDictionary.hpp TimeSeries.hpp
15x: <direct include>
...
124049 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/data/DataEnums.hpp (included 970 times, avg 127 ms), included via:
490x: ModelFixture.hpp SqlFile.hpp SummaryData.hpp
304x: Model_Impl.hpp Facility.hpp
83x: <direct include>
19x: SqlFile.hpp SummaryData.hpp
15x: OSWorkflow.hpp OSRunner.hpp SqlFile.hpp SummaryData.hpp
12x: OSRunner.hpp SqlFile.hpp SummaryData.hpp
...
123441 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/time/Time.hpp (included 1598 times, avg 77 ms), included via:
675x: ForwardTranslator.hpp
490x: ModelFixture.hpp SqlFile.hpp SqlFileDataDictionary.hpp TimeSeries.hpp Date.hpp
289x: Model_Impl.hpp SiteGroundTemperatureBuildingSurface.hpp Date.hpp
19x: ScheduleDay_Impl.hpp
15x: OSWorkflow.hpp OSRunner.hpp SqlFile.hpp SqlFileDataDictionary.hpp TimeSeries.hpp Date.hpp
11x: OSRunner.hpp SqlFile.hpp SqlFileDataDictionary.hpp TimeSeries.hpp Date.hpp
...
done in 1.3s.
```
Pull request overview
Our build times have always been bad, but as we start including epmodel/ they become horrendous.
I used clang -ftime-trace to find the longest operations, and managed to cut build times in almost half by using:
extern templateUsing my M1 Max mac, with clang21 and Ninja.
Each time I wipe the build dir and clear the ccache cache
conan install --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release --output-folder=../OS-build-release && cmake --preset conan-release -DENABLE_BUILD_TIME_TRACE:BOOL=ON -DUSE_PCH:BOOL=ON . && ccache --clearcodegen didn't change, that's normal. It's heavily dominated by SWIG
You can find the details of the ftime-trace analysis
capture_develop.txt
capture_improve_9ef2274fd8.txt
This is produced via
Pull Request Author
src/model/test)src/energyplus/Test)src/osversion/VersionTranslator.cpp)Labels:
IDDChangeAPIChangePull Request - Ready for CIso that CI builds your PRReview Checklist
This will not be exhaustively relevant to every PR.