-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/optimize headers #502
Conversation
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
…uard Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
@mgovers what do you mean part 1 here? The first bullet point? Maybe just list the changes in the PR. |
i will when it goes out of |
Signed-off-by: Martijn Govers <[email protected]>
all sonar cloud issues were already present on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Moving 'power_grid_model_.hpp' to 'common' is very confusing...
- Are we ever considering UUID's as preprocessor directive instead of having to maintain them like in this PR?
- As I do not know yet what it is like before the current grouping of headers, I think we can still re-organize a lot. For example, you would expect
topology.hpp
to live within./core
, but apparently there is anothertopology.hpp
; parameters and containers headers looks also like they don't belong in the ./pgm-root directory; some resemblance/reference between headers (that do live in ./pgm-root dir) and directories would be much more logical to me.
@mgovers In the CI you can see the timestamp of each individual compilation of translation unit. There you can have an idea where it took long time to compile. |
yes, i know. i already know what the most probable issue is, but then i had already done these changes and do not want to do those in the same PR |
do you have a better name? IMO
that's very compiler-specific and unfortunately won't solve our problem. I have looked into precompiled headers before but that makes stuff even worse cause it's a very slow process for large header files (including all
yeah, we can discuss that during the design discussion on the tap changer. this change just applies the changes in #486 |
@mgovers @Jerry-Jinfeng-Guo, about header include guard, what do you think of remove the include guard entirely. Just use the |
I would also strongly argue for that
Hmm, interesting. Simply replacing the |
I'm ok with it. it has some caveats but i don't think we run into those. In addition, declaring |
Well, yes, that's what i mean 😬 therefore, the name of this file is wrong. What would be a better name?
maybe we're talking about effectively two different things. Which type of UUID preprocessor directive are you talking about? I was thinking about speeding up class compilation by prefixing the class with |
I was under the impression ditching the former is the way to go... 😂 But they are indeed redundant. I was accustomed to the |
Oh, I was refering to e.g.: |
Well, since it lives inside |
Signed-off-by: Martijn Govers <[email protected]>
Signed-off-by: Martijn Govers <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove header include guard (also the generated headers). Just use #pragma once
.
ok i was going to do that in a separate PR but i'll do it in this one instead |
Signed-off-by: Martijn Govers <[email protected]>
|
Part 1 of #486 :
common/
directoryIs this something that makes sense in another context than just the high-performance power system simulation library context?
unexpectedly, this did not improve the build speed. my assumption is that the most expensive part is actually the part where math model is constructed/used
however, this is still a nice improvement IMO, so i would still like to go ahead with this change. The rest is follow-up and will be done in a separate PR