sparcians / map

Modeling Architectural Platform
Apache License 2.0
165 stars 59 forks source link

Long build times #512

Open orion160 opened 2 months ago

orion160 commented 2 months ago

@klingaard Can I address this and reformat cmake build system to be more target centric. And to provide better library handling?

klingaard commented 2 months ago

Sure. However, I'd like to understand what you'd like to change. Specifically,

  1. Long build times of what? Sparta or your target simulator?
  2. What do you mean by "more target specific"?
  3. What do you mean by "better library handling"?
orion160 commented 2 months ago

It would be to do a minor refactor for structuring the build system on cmake targets. And to provide a SpartaConfig.cmake, which I see that the one used in the repo serves other purpose..

So to add sparta would be in the more standarized way with SPARTA_ROOT as a cache variable

Mmmmm and on the buld times i have to check out and see if there can be some improvements. Although great part of it is by having LTO enabled

klingaard commented 2 months ago

I've made some advancements in "compiler time" with Sparta by moving code from header files to source files based on using clang's time reports: https://aras-p.info/blog/2019/01/12/Investigating-compile-times-and-Clang-ftime-report/

You can use chrome's profiler view on the report: https://aras-p.info/blog/2017/01/23/Chrome-Tracing-as-Profiler-Frontend/