Code Monkey home page Code Monkey logo

Comments (5)

tjhei avatar tjhei commented on July 29, 2024 1

Ninja is a) parallel by default, so you should not specify -j and b) quite a bit faster for incremental builds. There is no big difference when you build from scratch.
Finally, CI with 2 cores is not a situation where I would expect a big difference.

So, I don't think using ninja is very helpful to be used in candi. That said, it shouldn't be slower. :-)

from candi.

 avatar commented on July 29, 2024 1

Thanks for your experience. Unfortunately I was only able to test it with the GitHub runners, which have only two cores.
When I think on an installation in parallel it might be a little bit dangerous to build the big packages trilinos/dealii with an unspecified number of cores on a laptop with usual amount of RAM? (My first laptop overheated using 4 cores + 16GB RAM).

from candi.

 avatar commented on July 29, 2024

@bangerth Interesting, only heard about ninja but never used it. I tried a quick and dirty solution to build dealii with ninja for a wall time comparison. However, the make version was a bit faster, see https://github.com/gfcas/candi/actions/runs/1182195219. May it depend on the number of available CPUs building the project?

from candi.

tjhei avatar tjhei commented on July 29, 2024

Part of the high RAM requirements is trilinos and our current configuration, but yes, I understand your point.
One more reason not to use ninja then.

from candi.

bangerth avatar bangerth commented on July 29, 2024

Fair enough -- let's close it then. I think all of us with bigger machines use ninja primarily because it automatically figures out how many processes to use, and because it is much faster when only a few files have to be compiled. But you're right that neither of this is relevant here.

from candi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.