Drop need to include ptree in ConfigurableParam.h#11825
Conversation
|
@sawenzel this is an attemp to silence the warning we have on macOS from root including ptree, possibly causing the macro tests to fail. See also: If it works, would you have any objection to this? |
|
Error while checking build/O2/fullCI for ea957d9 at 2023-08-30 06:11: Full log here. |
|
Error while checking build/O2/fullCI for 88c9e10 at 2023-08-30 16:44: Full log here. |
|
This is somewhat new to me. Why is it problematic now? What did we change on MacOS that made this problem appear? |
|
I quickly did some checks. On my Mac, all macros are tested fine. The log that you mentioned (https://ali-ci.cern.ch/alice-build-logs/AliceO2Group/AliceO2/11821/d5bccca520d335ce203097719ff4afe79c81281e/build_AliceO2_O2_o2_macOS/fullLog.txt shows an "illegal instruction" when testing ROOT macros. It is not evident that this is related to warnings from |
|
I am not sure what is the problem, for sure we have a bunch of spurious messages about ptree right before the crash. I do not know if they are related, so I wanted to remove them to exclude they are the problem. |
|
For the record, I have updated this to fix the two macros which were failing and split off the unrelated cosmetic changes. |
|
Any objections to this? The remaining formatting issues seems to be unrelated to my changes. |
091f9d1 to
f75ba9f
Compare
|
@sawenzel as discussed. The various read* methods are now part of |
f75ba9f to
de8c022
Compare
|
@sawenzel As promised, find below the benchmarking to justify the change. As you can see, my patch saves roughly 400s when compiling (i.e. ~4% of the total parsing + codegen). It's probably a lowerbound, since cling needs to parse those headers as well and it's not being accounted here. Admittedly, since last time I did a benchmark, there is now a unit test in the ANS encoding which is expensive and which we should probably fix in a separate PR. The remaining usage of boost_ptree is probably in actual cxx files getting a value from the FairMQ Properties (also to be fixed at some point). We should also understand why we have so many std::regex, but again, for a different PR. No changes:3817 files processed. Summary stats: Templates that took longest to instantiate: With my patch:3818 files processed (as it should, there is one extra cxx in my patch). Summary stats: Templates which took the longest to instantiate: |
|
For the record, as usual the benchmarking was done with https://github.com/aras-p/ClangBuildAnalyzer. Actual methodology: |
Drop need to include ptree in ConfigurableParam.h