[Github-comments] [geany/geany] WIP: Meson build system (#2761)

Thomas Martitz notifications at xxxxx
Sun Aug 8 19:55:49 UTC 2021


> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20210808/c757f60b/attachment-0001.htm>


More information about the Github-comments mailing list