Improve build times: cut time almost in half by using PCH#5622
Conversation
🧪 Test Results DashboardSummary
|
| Run | XML File | Status |
|---|---|---|
| run1 | results.xml |
✅ Found |
| run3 | results.xml |
✅ Found |
| run2 | results.xml |
✅ Found |
|
There a lot of things I'd like to do that may improve this even further:
But this is already a hefty improvement without spending too much time and effort. |
``` 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. ```
┌──────────┬────────┬────────┬────────┬─────────────┐ │ │ No PCH │ PCH v1 │ PCH v2 │ Delta total │ ├──────────┼────────┼────────┼────────┼─────────────┤ │ Frontend │ 8269 s │ 3482 s │ 2853 s │ -65% │ ├──────────┼────────┼────────┼────────┼─────────────┤ │ Backend │ 2926 s │ 3037 s │ 2929 s │ flat │ └──────────┴────────┴────────┴────────┴─────────────┘ ``` Analyzing build trace from 'capture_more_pch.bin'... **** Time summary: Compilation (2455 times): Parsing (frontend): 2853.0 s Codegen & opts (backend): 2929.0 s **** Files that took longest to parse (compiler frontend): 43682 ms: ./ruby/engine/CMakeFiles/rubyengine.dir/embedded_files.cxx.o 32491 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelHVAC.dir/ruby_OpenStudioModelHVAC_wrap.cxx.o 31209 ms: ./src/model/CMakeFiles/python_OpenStudioModelHVAC.dir/python_OpenStudioModelHVAC_wrap.cxx.o 24200 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelResources.dir/ruby_OpenStudioModelResources_wrap.cxx.o 24021 ms: ./src/model/CMakeFiles/python_OpenStudioModelResources.dir/python_OpenStudioModelResources_wrap.cxx.o 23524 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelStraightComponent.dir/ruby_OpenStudioModelStraightComponent_wrap.cxx.o 22907 ms: ./src/utilities/CMakeFiles/openstudio_utilities.dir/embedded_files.cxx.o 21890 ms: ./src/model/CMakeFiles/python_OpenStudioModelStraightComponent.dir/python_OpenStudioModelStraightComponent_wrap.cxx.o 16677 ms: ./src/utilities/CMakeFiles/openstudio_utilities.dir/idd/IddFactory_EnergyPlus.cxx.o 16304 ms: ./src/model/CMakeFiles/openstudio_model.dir/Model.cpp.o **** Files that took longest to codegen (compiler backend): 111785 ms: ./src/model/CMakeFiles/python_OpenStudioModelHVAC.dir/python_OpenStudioModelHVAC_wrap.cxx.o 98503 ms: ./src/model/CMakeFiles/python_OpenStudioModelResources.dir/python_OpenStudioModelResources_wrap.cxx.o 98085 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelHVAC.dir/ruby_OpenStudioModelHVAC_wrap.cxx.o 95377 ms: ./src/model/CMakeFiles/python_OpenStudioModelStraightComponent.dir/python_OpenStudioModelStraightComponent_wrap.cxx.o 79536 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelResources.dir/ruby_OpenStudioModelResources_wrap.cxx.o 72665 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelStraightComponent.dir/ruby_OpenStudioModelStraightComponent_wrap.cxx.o 63018 ms: ./src/model/CMakeFiles/python_OpenStudioModelGeometry.dir/python_OpenStudioModelGeometry_wrap.cxx.o 59210 ms: ./src/model/CMakeFiles/python_OpenStudioModelCore.dir/python_OpenStudioModelCore_wrap.cxx.o 50995 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelGeometry.dir/ruby_OpenStudioModelGeometry_wrap.cxx.o 44204 ms: ./src/model/CMakeFiles/ruby_OpenStudioModelCore.dir/ruby_OpenStudioModelCore_wrap.cxx.o **** Templates that took longest to instantiate: 178967 ms: EnumBase<openstudio::IddFileType>::EnumBase (4517 times, avg 39 ms) 177914 ms: EnumBase<openstudio::IddFileType>::lookupValue (4515 times, avg 39 ms) 114100 ms: boost::date_time::parse_iso_time<boost::posix_time::ptime> (2266 times, avg 50 ms) 109899 ms: boost::date_time::parse_date<boost::gregorian::date> (2266 times, avg 48 ms) 85325 ms: EnumBase<openstudio::IddFileType>::getValues (2249 times, avg 37 ms) 84838 ms: EnumBase<openstudio::IddFileType>::buildValues (2247 times, avg 37 ms) 75817 ms: boost::date_time::special_values_parser<boost::gregorian::date, char... (2266 times, avg 33 ms) 74038 ms: EnumBase<openstudio::IddFileType>::getLookupMap (2243 times, avg 33 ms) 73026 ms: EnumBase<openstudio::IddFileType>::buildLookupMap (2242 times, avg 32 ms) 66870 ms: boost::date_time::special_values_parser<boost::gregorian::date, char... (2266 times, avg 29 ms) 61094 ms: boost::date_time::month_str_to_ushort<boost::gregorian::greg_month> (2266 times, avg 26 ms) 56847 ms: EnumBase<openstudio::IddFileType>::getNames (2247 times, avg 25 ms) 55668 ms: EnumBase<openstudio::IddFileType>::buildStrings (2247 times, avg 24 ms) 52184 ms: boost::gregorian::to_simple_string_type<wchar_t> (2268 times, avg 23 ms) 47489 ms: std::map<int, std::string>::operator[] (2415 times, avg 19 ms) 45214 ms: std::map<std::string, unsigned short>::map (2266 times, avg 19 ms) 41522 ms: boost::date_time::string_parse_tree<char>::string_parse_tree (4532 times, avg 9 ms) 37464 ms: testing::internal::ValueArray<bool, bool>::operator ParamGenerator<b... (839 times, avg 44 ms) 36240 ms: std::map<std::string, unsigned short>::insert<const std::pair<const ... (2266 times, avg 15 ms) 35798 ms: std::map<std::string, int>::operator[] (2352 times, avg 15 ms) 33472 ms: boost::date_time::from_simple_string_type<boost::gregorian::date, wc... (2266 times, avg 14 ms) 32850 ms: std::vector<std::string>::push_back (3138 times, avg 10 ms) 32365 ms: boost::algorithm::to_upper_copy<std::string> (2350 times, avg 13 ms) 31981 ms: boost::algorithm::detail::transform_range_copy<std::string, std::str... (2350 times, avg 13 ms) 31026 ms: boost::date_time::date_formatter<boost::gregorian::date, boost::date... (2266 times, avg 13 ms) 29950 ms: boost::date_time::ymd_formatter<boost::date_time::year_month_day_bas... (2266 times, avg 13 ms) 29258 ms: boost::basic_regex<char>::assign (126 times, avg 232 ms) 26635 ms: boost::algorithm::iequals<std::string, std::string> (2425 times, avg 10 ms) 25990 ms: openstudio::SqlFile::execAndReturnFirstDouble<> (2209 times, avg 11 ms) 25957 ms: std::__tree<std::__value_type<int, std::string>, std::__map_value_co... (2350 times, avg 11 ms) **** Template sets that took longest to instantiate: 231150 ms: EnumBase<$>::EnumBase (42290 times, avg 5 ms) 217692 ms: EnumBase<$>::lookupValue (27619 times, avg 7 ms) 114100 ms: boost::date_time::parse_iso_time<$> (2266 times, avg 50 ms) 109899 ms: boost::date_time::parse_date<$> (2266 times, avg 48 ms) 103681 ms: EnumBase<$>::getValues (9717 times, avg 10 ms) 102166 ms: EnumBase<$>::buildValues (9113 times, avg 11 ms) 81029 ms: EnumBase<$>::getLookupMap (4342 times, avg 18 ms) 79288 ms: EnumBase<$>::buildLookupMap (3777 times, avg 20 ms) 75817 ms: boost::date_time::special_values_parser<$>::special_values_parser (2266 times, avg 33 ms) 75314 ms: boost::gregorian::to_simple_string_type<$> (6796 times, avg 11 ms) 71403 ms: std::vector<$>::emplace_back<$> (8102 times, avg 8 ms) 70517 ms: EnumBase<$>::getNames (8154 times, avg 8 ms) 70099 ms: std::vector<$>::push_back (7826 times, avg 8 ms) 70015 ms: std::reverse_iterator<$> (10656 times, avg 6 ms) 68762 ms: boost::date_time::date_formatter<$>::date_to_string (13596 times, avg 5 ms) 68617 ms: EnumBase<$>::buildStrings (8001 times, avg 8 ms) 67752 ms: std::vector<$> (25298 times, avg 2 ms) 66870 ms: boost::date_time::special_values_parser<$>::sv_strings (2266 times, avg 29 ms) 65019 ms: std::__tree<$>::__emplace_unique_key_args<$> (7778 times, avg 8 ms) 63222 ms: std::vector<$>::__swap_out_circular_buffer (7732 times, avg 8 ms) 61659 ms: boost::date_time::ymd_formatter<$>::ymd_to_string (13596 times, avg 4 ms) 61094 ms: boost::date_time::month_str_to_ushort<$> (2266 times, avg 26 ms) 60516 ms: std::vector<$>::__emplace_back_slow_path<$> (5478 times, avg 11 ms) 59716 ms: std::vector<$>::__construct_at_end<$> (8645 times, avg 6 ms) 58807 ms: std::__make_exception_guard<$> (9821 times, avg 5 ms) 57311 ms: std::__uninitialized_allocator_relocate<$> (7574 times, avg 7 ms) 56437 ms: std::__exception_guard_exceptions<$>::~__exception_guard_exceptions (9671 times, avg 5 ms) 55708 ms: std::map<$>::map (8129 times, avg 6 ms) 54457 ms: std::vector<$>::__init_with_size<$> (7477 times, avg 7 ms) 50668 ms: std::vector<$>::vector (7514 times, avg 6 ms) **** Functions that took longest to compile: 9051 ms: openstudio::radiance::ForwardTranslator::buildingSpaces(boost::files... (/Users/julien/Software/Others/OpenStudio/src/radiance/ForwardTranslator.cpp) 3713 ms: Init_openstudiomodelhvac (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelHVAC_wrap.cxx) 2876 ms: Init_openstudiomodelresources (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelResources_wrap.cxx) 2366 ms: Init_openstudiomodelstraightcomponent (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelStraightComponent_wrap.cxx) 1800 ms: openstudio::model::detail::Model_Impl::ModelObjectCreator::ModelObje... (/Users/julien/Software/Others/OpenStudio/src/model/Model.cpp) 1584 ms: Init_openstudiomodelgeometry (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelGeometry_wrap.cxx) 1225 ms: openstudio::IddFactory::IddFactory() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory.cxx) 1186 ms: openstudio::isomodel::ForwardTranslator::translateModel(openstudio::... (/Users/julien/Software/Others/OpenStudio/src/isomodel/ForwardTranslator.cpp) 1085 ms: openstudio::IddFactory::registerEnergyPlusObjectsInCallbackMap() (/Users/julien/Software/Others/OS-build-release/src/utilities/idd/IddFactory_EnergyPlus.cxx) 1073 ms: Init_openstudiomodelcore (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelCore_wrap.cxx) 1044 ms: openstudio::model::detail::OutputTableMonthly_Impl::standardReports() (/Users/julien/Software/Others/OpenStudio/src/model/OutputTableMonthly.cpp) 988 ms: Init_openstudiomodelzonehvac (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelZoneHVAC_wrap.cxx) 791 ms: EnergyPlusFixture_ForwardTranslator_HeatPumpAirToWater_Test::TestBod... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/HeatPumpAirToWater_GTest.cpp) 791 ms: Init_openstudiomodelgenerators (/Users/julien/Software/Others/OS-build-release/src/model/ruby_OpenStudioModelGenerators_wrap.cxx) 674 ms: openstudio::model::ThreeJSReverseTranslator::modelFromThreeJS(openst... (/Users/julien/Software/Others/OpenStudio/src/model/ThreeJSReverseTranslator.cpp) 666 ms: gbXMLFixture_ForwardTranslator_IDs_Names_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/gbxml/Test/ForwardTranslator_GTest.cpp) 653 ms: ModelFixture_CoilCoolingDXSingleSpeedThermalStorage_GettersSetters_T... (/Users/julien/Software/Others/OpenStudio/src/model/test/CoilCoolingDXSingleSpeedThermalStorage_GTest.cpp) 620 ms: openstudio::model::ScheduleTypeRegistry::ScheduleTypeRegistry() (/Users/julien/Software/Others/OpenStudio/src/model/ScheduleTypeRegistry.cpp) 596 ms: EnergyPlusFixture_ForwardTranslatorZoneMixing_DifferentZones_Test::T... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/ZoneMixing_GTest.cpp) 565 ms: openstudio::sdd::ReverseTranslator::translateSDD(pugi::xml_node cons... (/Users/julien/Software/Others/OpenStudio/src/sdd/ReverseTranslator.cpp) 565 ms: openstudio::gltf::GltfUserData::GltfUserData(tinygltf::Value const&) (/Users/julien/Software/Others/OpenStudio/src/gltf/GltfUserData.cpp) 537 ms: ModelFixture_ChillerElectricASHRAE205_Loops_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/model/test/ChillerElectricASHRAE205_GTest.cpp) 537 ms: EnergyPlusFixture_ForwardTranslator_AirLoopHVACUnitarySystem_Nodes_T... (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/AirLoopHVACUnitarySystem_GTest.cpp) 496 ms: ModelFixture_UniqueModelObjectCachedGetters_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/model/test/Model_GTest.cpp) 496 ms: tinygltf::SerializeGltfModel(tinygltf::Model const*, nlohmann::json_... (/Users/julien/Software/Others/OpenStudio/src/gltf/GltfForwardTranslator.cpp) 471 ms: GeometryFixture_RoofExtendedSkeleton_3_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/utilities/geometry/Test/RoofGeometry_GTest.cpp) 460 ms: openstudio::FloorplanJS::makeGeometries(Json::Value const&, Json::Va... (/Users/julien/Software/Others/OpenStudio/src/utilities/geometry/FloorplanJS.cpp) 452 ms: ISOModelFixture_UserModel_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/isomodel/Test/UserModel_GTest.cpp) 450 ms: ModelFixture_SizingZone_GettersSetters_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/model/test/SizingZone_GTest.cpp) 443 ms: EnergyPlusFixture_ReverseTranslator_FanComponentModel_Test::TestBody() (/Users/julien/Software/Others/OpenStudio/src/energyplus/Test/FanComponentModel_GTest.cpp) **** Function sets that took longest to compile / optimize: 11990 ms: std::__1::__wrap_iter<$> std::__1::vector<$>::__insert_with_size[abi... (1520 times, avg 7 ms) 9051 ms: openstudio::radiance::ForwardTranslator::buildingSpaces(boost::files... (1 times, avg 9051 ms) 7075 ms: EnumBase<$>::buildStrings(bool) (2478 times, avg 2 ms) 6464 ms: EnumBase<$>::lookupValue(int) (2311 times, avg 2 ms) 5920 ms: std::__1::vector<$> openstudio::model::Model::getConcreteModelObject... (1996 times, avg 2 ms) 5498 ms: std::__1::basic_stringstream<$>::basic_stringstream[abi:nqe210106]() (1854 times, avg 2 ms) 5185 ms: EnumBase<$>::buildValues() (2312 times, avg 2 ms) 5042 ms: void swig::setslice<$>(std::__1::vector<$>*, long, long, long, std::... (713 times, avg 7 ms) 4725 ms: std::__1::vector<$>* swig::getslice<$>(std::__1::vector<$> const*, l... (713 times, avg 6 ms) 4110 ms: std::__1::ostreambuf_iterator<$> std::__1::__pad_and_output[abi:nqe2... (1939 times, avg 2 ms) 4084 ms: boost::optional<$> openstudio::IdfObject::optionalCast<$>() const (2979 times, avg 1 ms) 4066 ms: void swig::delslice<$>(std::__1::vector<$>*, long, long, long) (713 times, avg 5 ms) 4064 ms: std::__1::basic_string<$>& std::__1::basic_string<$>::__assign_no_al... (3155 times, avg 1 ms) 3646 ms: void std::__1::__tree_balance_after_insert[abi:nqe210106]<$>(std::__... (1758 times, avg 2 ms) 3584 ms: std::__1::basic_ostream<$>& std::__1::__put_character_sequence[abi:n... (1939 times, avg 1 ms) 3575 ms: std::__1::vector<$>::reserve(unsigned long) (2683 times, avg 1 ms) 3482 ms: std::__1::basic_stringbuf<$>::__init_buf_ptrs[abi:nqe210106]() (1885 times, avg 1 ms) 3317 ms: boost::re_detail_500::basic_regex_parser<$>::parse_perl_extension() (59 times, avg 56 ms) 3295 ms: std::__1::vector<$>::~vector[abi:nqe210106]() (1962 times, avg 1 ms) 2805 ms: std::__1::vector<$> openstudio::model::Model::getModelObjectsByName<... (1098 times, avg 2 ms) 2592 ms: std::__1::vector<$> openstudio::model::Model::getConcreteModelObject... (992 times, avg 2 ms) 2439 ms: swig::traits_asptr_stdseq<$>::asptr(unsigned long, std::__1::vector<... (761 times, avg 3 ms) 2269 ms: boost::optional<$>::~optional() (1167 times, avg 1 ms) 2204 ms: boost::re_detail_500::basic_regex_creator<$>::append_set(boost::re_d... (118 times, avg 18 ms) 2036 ms: swig::traits_asptr_stdseq<$>::asptr(_object*, std::__1::vector<$>**) (761 times, avg 2 ms) 2024 ms: swig::traits_info<$>::type_info() (2696 times, avg 0 ms) 2014 ms: boost::optional<$> openstudio::model::Model::getConcreteModelObjectB... (1074 times, avg 1 ms) 1978 ms: boost::optional<$> openstudio::model::Model::getModelObject<$>(opens... (1120 times, avg 1 ms) 1796 ms: std::__1::vector<$>* swig::getslice<$>(std::__1::vector<$> const*, i... (713 times, avg 2 ms) 1727 ms: void swig::setslice<$>(std::__1::vector<$>*, long, long, std::__1::v... (713 times, avg 2 ms) **** Expensive headers: 157232 ms: /Users/julien/.conan2/p/gtestc7bc09ec8a5ac/p/include/gtest/gtest.h (included 839 times, avg 187 ms), included via: 779x: <direct include> 42x: ModelFixture.hpp 1x: XMLValidatorFixture.hpp 1x: CoreFixture.hpp 1x: SqlFileFixture.hpp 1x: GltfFixture.hpp ... 111734 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/Logger.hpp (included 100 times, avg 1117 ms), included via: 32x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp 17x: IdfObject.hpp 5x: <direct include> 4x: Assert.hpp 3x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp 3x: VersionTranslator.hpp Schedule.hpp ScheduleBase.hpp ResourceObject.hpp ParentObject.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp ... 96140 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/core/LogMessage.hpp (included 101 times, avg 951 ms), included via: 32x: Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp 17x: IdfObject.hpp Logger.hpp 4x: Logger.hpp 3x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp 3x: Assert.hpp Logger.hpp 3x: VersionTranslator.hpp Schedule.hpp ScheduleBase.hpp ResourceObject.hpp ParentObject.hpp ModelObject.hpp WorkspaceObject.hpp IdfObject.hpp Logger.hpp ... 92809 ms: /Users/julien/Software/Others/OpenStudio/src/model/ModelObject_Impl.hpp (included 1820 times, avg 50 ms), included via: 123x: Model_Impl.hpp ClimateZones.hpp ModelExtensibleGroup.hpp 77x: Schedule_Impl.hpp ScheduleBase_Impl.hpp ResourceObject_Impl.hpp ParentObject_Impl.hpp 56x: Node_Impl.hpp StraightComponent_Impl.hpp HVACComponent_Impl.hpp ParentObject_Impl.hpp 25x: Building_Impl.hpp ParentObject_Impl.hpp 21x: Surface.hpp SurfacePropertyExposedFoundationPerimeter_Impl.hpp 17x: OutputVariable_Impl.hpp ... 88091 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/idf/WorkspaceObject_Impl.hpp (included 1841 times, avg 47 ms), included via: 123x: Model_Impl.hpp ClimateZones.hpp ModelExtensibleGroup.hpp ModelObject_Impl.hpp 77x: Schedule_Impl.hpp ScheduleBase_Impl.hpp ResourceObject_Impl.hpp ParentObject_Impl.hpp ModelObject_Impl.hpp 56x: Node_Impl.hpp StraightComponent_Impl.hpp HVACComponent_Impl.hpp ParentObject_Impl.hpp ModelObject_Impl.hpp 25x: Building_Impl.hpp ParentObject_Impl.hpp ModelObject_Impl.hpp 21x: Surface.hpp SurfacePropertyExposedFoundationPerimeter_Impl.hpp ModelObject_Impl.hpp 17x: OutputVariable_Impl.hpp ModelObject_Impl.hpp ... 79860 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/idf/IdfObject.hpp (included 97 times, avg 823 ms), included via: 37x: Model.hpp ModelObject.hpp WorkspaceObject.hpp 25x: <direct include> 4x: VersionTranslator.hpp Schedule.hpp ScheduleBase.hpp ResourceObject.hpp ParentObject.hpp ModelObject.hpp WorkspaceObject.hpp 3x: ForwardTranslator.hpp Model.hpp ModelObject.hpp WorkspaceObject.hpp 3x: WorkspaceObject.hpp 3x: IdfFile.hpp ... 62616 ms: /Users/julien/Software/Others/OpenStudio/src/model/Model.hpp (included 58 times, avg 1079 ms), included via: 45x: <direct include> 3x: ForwardTranslator.hpp 3x: OSRunner.hpp 2x: OSWorkflow.hpp OSRunner.hpp 2x: ForwardTranslator.hpp 2x: MeasureManager.hpp ... 62227 ms: /Users/julien/Software/Others/OpenStudio/src/utilities/idd/IddField.hpp (included 1973 times, avg 31 ms), included via: 490x: ModelFixture.hpp 77x: Schedule_Impl.hpp ScheduleBase_Impl.hpp ResourceObject_Impl.hpp ParentObject_Impl.hpp ModelObject_Impl.hpp WorkspaceObject_Impl.hpp IdfObject_Impl.hpp IddObject.hpp 59x: Model_Impl.hpp ClimateZones.hpp ModelExtensibleGroup.hpp ModelObject_Impl.hpp WorkspaceObject_Impl.hpp IdfObject_Impl.hpp IddObject.hpp 40x: Node_Impl.hpp StraightComponent_Impl.hpp HVACComponent_Impl.hpp ParentObject_Impl.hpp ModelObject_Impl.hpp WorkspaceObject_Impl.hpp IdfObject_Impl.hpp IddObject.hpp 24x: IddFactory.hxx IddObject.hpp 21x: IddObject.hpp ... 57963 ms: /Users/julien/Software/Others/OpenStudio/src/model/Model_Impl.hpp (included 419 times, avg 138 ms), included via: 408x: <direct include> 6x: ZoneHVACBaseboardConvectiveWater_Impl.hpp 3x: Component_Impl.hpp 2x: ConcreteModelObjects.hpp ZoneHVACBaseboardConvectiveWater_Impl.hpp 57465 ms: /Users/julien/Software/Others/OpenStudio/src/model/ModelObject.hpp (included 60 times, avg 957 ms), included via: 37x: Model.hpp 4x: VersionTranslator.hpp Schedule.hpp ScheduleBase.hpp ResourceObject.hpp ParentObject.hpp 3x: ForwardTranslator.hpp Model.hpp 3x: OSRunner.hpp Model.hpp 2x: ForwardTranslator.hpp WindowGroup.hpp Space.hpp PlanarSurfaceGroup.hpp OpaqueMaterial.hpp Material.hpp ResourceObject.hpp ParentObject.hpp 2x: OSWorkflow.hpp OSRunner.hpp Model.hpp ... done in 1.2s. ```
|
Ok, I'm struggling way too much between the different platforms, I will ONLY do the PCH changes now.
|
…d CI: Need NatLabRockies/new-bcl#173 to be fixed" This reverts commit fc0fc66.
945bd55 to
8d8fdb6
Compare
|
The jenkins runners are unreliable: osx are windows are offline since at least 24 days ago ubuntu 24.04 appears to be ok until the md5sum step Not sure what's up with the windows-2022 GHA ctests
|
|
comparing https://github.com/NatLabRockies/OpenStudio/actions/runs/26033914179 (8d8fdb6) with the bump_deps workflow here: https://github.com/NatLabRockies/OpenStudio/actions/runs/25461038864 Overall is the total runtime for the step, and Build is the "Build with Ninja" step specifically
|
… and it's dead slow to install) #5624
Seems like some copy pasta from E+. Installing Miktex is 1) super slow and 2) unreliable due to CTAN mirrors always getting offline #5624
…re.xml... that's why the BCLFixture.BCLMeasure was failing... It's really only resources/utilities/BCL/Measures/v2/SetWindowToWallRatioByFacade/measure.xml that needed an update for the test file SetWindowToWallRatioByFacade_Test.rb
…TF-8 now. (the assert_equal was reversed which confused the heck out of me)
|
… we throw cleanly before boost does or it goes across the SWIG boundary on windows with SYstem ruby
…use of why GeometryFixture.Plane_RayIntersection|ISOModelFixture.SimModel were failing read https://clang.llvm.org/docs/UsersManual.html#cmdoption-ffp-contract Clang, unlike GCC, sets that to on by default. This is also how I fixed test diffs in EnergyPlus: NatLabRockies/EnergyPlus#10931
…tract=fast FYI, we can't remove the exclude for Ubuntu arm64 for SqlFileFixture.AnnualTotalCosts because E+ itself doesn't disable ffp-contract for arm64 gcc
|
Alright, I fixed up the CI and tests, it's all green now. Invested too much time to try to disable the exclude_regex for centos and some ubuntus now, but this is pretty sweet already. @anchapin @joseph-robertson @kbenne I'd appreciate a swift review, as I am anxious to get this in both develop and some os-4.0 branches I have so it speeds up compilation The timings are in #5622 (comment) |
…ve the same stuff... This reverts commit fc24a9f.
Added defaults: run: shell: bash at the job level (line 52), which applies bash --noprofile --norc -eo pipefail {0} to all run steps — matching GHA's
default for non-container Linux runners.
|
Attempting to fix the incremental-build.yml (Build and Test (Ubuntu 22.04) now (that runs on a self-hosted machine) Edit: Ok it's all green too! @anchapin any plan to fix the jenkins runners? Or should we remove them? |
|
Ok I need this, need to clean up the os-4.0-dev branches getting out of hand and setting up CI for it |
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.