Branch: refs/heads/master
Home: https://github.com/openSUSE/obs-build
Commit: c06f7d70204f0ab9e5563d10f9af372c356f6feb
https://github.com/openSUSE/obs-build/commit/c06f7d70204f0ab9e5563d10f9af372...
Author: Dirk Müller
Date: 2022-01-12 (Wed, 12 Jan 2022)
Changed paths:
M dist/build.spec
M dist/debian.control
M init_buildsystem
Log Message:
-----------
Batch calling external commands in a loop
In many cases rather than invoking the same command in a loop
we can collect all the arguments and use xargs to batch up the
invocations. this reduces the per-loop iteration overhead.
In the smallest package in tumbleweed this saves about 1s
of execution overhead on a very fast x86_64 cpu, and 3-5s on
a slower aarch64 cpu. larger packages that install more dependencies
have better outcomes.
measurement of just init_buildsystem for xterm package setup on
a tmpfs store:
before:
2.63user 1.02system 0:03.32elapsed 109%CPU (0avgtext+0avgdata 36232maxresident)k
584inputs+496288outputs (9major+576786minor)pagefaults 0swaps
after:
1.81user 0.74system 0:02.26elapsed 112%CPU (0avgtext+0avgdata 36052maxresident)k
584inputs+496288outputs (20major+246016minor)pagefaults 0swaps
Commit: 4ee1c18fe351fa677a23614b11d79e95c17f4f8b
https://github.com/openSUSE/obs-build/commit/4ee1c18fe351fa677a23614b11d79e9...
Author: Michael Schroeder
Date: 2022-01-14 (Fri, 14 Jan 2022)
Changed paths:
M dist/build.spec
M dist/debian.control
M init_buildsystem
Log Message:
-----------
Merge pull request #749 from dirkmueller/loop_strength
Avoid calling external commands in a loop
Compare: https://github.com/openSUSE/obs-build/compare/7b51dc72c470...4ee1c18fe351