LINUX.ORG.RU

История изменений

Исправление i-rinat, (текущая версия) :

это проблемы cmake (кстати искренне не понимаю людей, его использующих), а не make, который делает ровно то, что ему говорят.

Ninja появился во время портирования Chromium на Linux. Автор писал, что как ни пытался, не смог сократить время холостого запуска Make до значений меньше 20 с чем-то там секунд. Для этого он убрал все рекурсивные вызовы, сложив всё в один файл. Потом начал вникать в то, как работает Make, и в итоге решил попробовать сделать свой Make, но без шахмат и поэтесс. Получил время холостого запуска в пределах секунды.

Я рад, что тебя полностью устраивает Make. Но ты что, пытаешься мягко намекнуть на то, что альтернативы не нужны в принципе?

распределение exec

Сделал аналогичные замеры.

CMake/Make:

     33 execve("/usr/bin/cmake",
     32 execve("/usr/bin/make",
     31 execve("/bin/sh",
      2 execve("/usr/bin/git",
      1 execve("/usr/bin/expr",
      1 execve("/bin/cat",

CMake/Ninja:

      2 execve("/usr/bin/git",
      2 execve("/bin/sh",
      1 execve("/usr/bin/ninja",
      1 execve("/usr/bin/expr",
      1 execve("/bin/cat",

Возможно, генератор для Ninja просто лучше написан.

Исходная версия i-rinat, :

это проблемы cmake (кстати искренне не понимаю людей, его использующих), а не make, который делает ровно то, что ему говорят.

Ninja появился во время портирования Chromium на Linux. Автор писал, что как ни пытался, не смог сократить время холостого запуска Make до значений меньше 20 с чем-то там секунд. Для этого он убрал все рекурсивные вызовы, сложив всё в один файл. Потом начал вникать в то, как работает Make, и в итоге решил попробовать сделать свой Make, но без шахмат и поэтесс. Получил время холостого запуска в пределах секунды.

Я рад, что тебя полностью устраивает Make. Но ты что, пытаешься мягко намекнуть на то, что альтернативы не нужны в принципе?