On 10/16/18 10:22 PM, Randy MacLeod wrote:
* Valgrind is now buildable with link-time optimisation (LTO). A new configure option --enable-lto=yes allows building Valgrind with LTO. If the toolchain supports it, this produces a smaller/faster Valgrind (up to 10%). Note that if you are doing Valgrind development, --enable-lto=yes massively slows down the build process. -- I haven't added support for that option yet. A 10% performance boost is hard to turn down but we'd need to understand the build impact.
Building the native valgrind 3.14ish 8b689c66d (origin/master, origin/HEAD) Implement VG_(apply_ExeContext)(). on my 4 core laptop with 16 GB RAM, SSD running ubuntu-18.04 outside of bitbake just for a baseline. /usr/bin/time says: CPU: ~3.8x more time and : RAM: 348 MB vs 519 MB Max memory usage See below for logs. I tried to use --enable-lto in the recipe but that configure option was ignored so for now I'm not going to worry about it. If we get it working, I'd want the faster build as the default with a PACKAGECONFIG for people who want to pay at compile time for a 0-10% improvement in runtime behaviour. ../Randy
* The new option --keep-debuginfo=no|yes (default no) can be used to retain debug info for unloaded code. This allows saved stack traces (e.g. for memory leaks) to include file/line info for code that has been dlclose'd (or similar). See the user manual for more information and known limitations. -- sounds like it should be a default but I haven't added it yet.
This feature will have to wait until next week. I'll send what I have later tonight or perhaps tomorrow morning. -- # Randy MacLeod # Wind River Linux $ cat no-lto.log ; 296.20user 13.31system 5:10.29elapsed 99%CPU (0avgtext+0avgdata 347800maxresident)k 224inputs+1783440outputs (3major+5964298minor)pagefaults 0swaps $ cat with-lto.log 1101.82user 23.79system 18:48.13elapsed 99%CPU (0avgtext+0avgdata 519400maxresident)k 39200inputs+4644952outputs (177major+9033934minor)pagefaults 0swaps and FYI, on a 128 core server running bitbake -c configure valgrind && /usr/bin/time -o foo bitbake -c compile valgrind: $ cat compile-vg.log 0.89user 0.14system 0:49.64elapsed 2%CPU (0avgtext+0avgdata 28124maxresident)k 0inputs+152outputs (0major+9873minor)pagefaults 0swaps -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core