> Quick explain, meson requires all files to be explicitly listed, it doesn't 
> search to see whats in the directories the way make does. Its how meson gets 
> its speed since it doesn't need to rebuild the ninja files every time. Not a 
> lot of impact with Geany, but huge with things like chromium or llvm etc.

Sorry, I have to bust that myth. 

1) meson doesn't build anything itself, it just generates ninja build scripts. 
ninja is doing the heavy work
2) make also requires all files to be listed explicitely, by default. GNU make 
has an extension that allows wildcards that allows to use dynamic source file 
lists, but that's evaluated at parse-time (basically by shelling out to a "ls 
dir/*") and doesn't affect the build speed (perhaps unless you have *huge* 
directories)
3) ninja is not much faster than Make because most of the time is used by the 
compiler, naturally, especially with C++ code. Ninja has a reduced syntax so 
parsing ninja files is a bit faster, but at the expense that it's not 
recommended to write ninja files by hand.

I would expect that an optimized, i.e. non-recursive, as realized with my 
[kmake](https://github.com/kugel-/kmake/) system, Make build is about the same 
speed that ninja builds. make can be blazing fast if used properly, i.e. almost 
all CPU time is measurably used by the compiler.

meson is *much* faster than autoconf, that's true for sure.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2761#issuecomment-894847002

Reply via email to