[RFC PATCH 0/8] Meson build system [for libinput this time]

Peter Hutterer peter.hutterer at who-t.net
Wed Dec 7 22:33:55 UTC 2016


On Tue, Nov 29, 2016 at 04:59:39PM +0000, Daniel Stone wrote:
> [meson is like totally super duper]

I tried the same for libinput, work available in
https://github.com/whot/libinput/tree/wip/meson
I think I'm about 80% of the way there, with more testing needed and a few
details being different/missing.

benchmark results are below, but they're more limited than the weston one.
Running the test suite as part of the build process is pointless as it can
easily take half an hour. There's only one make clean/rebuild we have to
worry about unlike weston's multiple rebuild types.

It's a bit apples to oranges because I opted for a single meson.build file
instead of the current recursive automake, so some of the speedup is likely
caused by that. Documentation build is currently missing, but that's just a
doxygen run. If anyone wants to run the numbers on different machines please
do so, I just ran it with JOBS=4 on my T440s, i7-4600U CPU @ 2.10GHz, 12GB
RAM, make -j4. I re-ran with -j8 but the numbers were almost identical
anyway.

Aside from the faster build times, meson's language feels a lot cleaner than
autotools. I'm generally opposed to non-recursive Makefiles because they get
messy, I didn't mind it here. So I'd be quite ok with switching to meson
(after some more testing of course).

Cheers,
   Peter


Run configure stage (./autogen.sh vs. meson)
    N           Min           Max        Median           Avg        Stddev
x  10     12.621021     12.889188     12.693087     12.696142   0.079015141
+  10       0.49298      0.516246      0.500329     0.5013093  0.0068223524
Difference at 95.0% confidence
	-12.1948 +/- 0.0526925
	-96.0515% +/- 0.415028%
	(Student's t, pooled s = 0.05608)

Build from clean/configured tree (make clean && make vs. ninja clean && ninja)
    N           Min           Max        Median           Avg        Stddev
x  10     11.095844     12.919906     12.549179     12.452288    0.49349502
+  10      4.796192      4.916559      4.843162     4.8399259   0.035832531
Difference at 95.0% confidence
	-7.61236 +/- 0.328739
	-61.1322% +/- 2.63999%
	(Student's t, pooled s = 0.349872)

Rebuild libinput from built tree (touch src/libinput.h && make vs. ninja)
    N           Min           Max        Median           Avg        Stddev
x  10     12.533362     20.260543     16.410773     15.298142     2.7933535
+  10      3.887209      4.814081      4.033269     4.1613343    0.34492342
Difference at 95.0% confidence
	-11.1368 +/- 1.86998
	-72.7984% +/- 12.2236%
	(Student's t, pooled s = 1.9902)




More information about the wayland-devel mailing list