The GNU make parallel jobs flgs (-j or --jobs) can significantly (~30%) improve the edk2 build time in Linux.
This patch enable the GNU make parallel jobs by default.
Below the OVMF test result on GCC5 and CLANGPDB toolchains:
GCC5 build without patch:
jshi19@ub2-uefi-b01:~/wksp_efi/edk2-2$ time build -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64 -t GCC5 -DSECURE_BOOT_ENABLE=TRUE
real 0m58.784s
user 5m18.820s
sys 0m46.337s
GCC5 build with patch:
jshi19@ub2-uefi-b01:~/wksp_efi/edk2-2$ time build -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64 -t GCC5 -DSECURE_BOOT_ENABLE=TRUE
real 0m41.547s
user 5m23.617s
sys 0m47.397s
GCC5 build time improved by +29%
CLANGPDB build without patch:
jshi19@ub2-uefi-b01:~/wksp_efi/edk2-2$ time build -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64 -t CLANGPDB -DSECURE_BOOT_ENABLE=TRUE
real 1m4.162s
user 4m15.025s
sys 0m30.480s
CLANGPDB build with patch:
jshi19@ub2-uefi-b01:~/wksp_efi/edk2-2$ time build -p OvmfPkg/OvmfPkgIa32X64.dsc -a IA32 -a X64 -t CLANGPDB -DSECURE_BOOT_ENABLE=TRUE
real 0m31.307s
user 4m21.952s
sys 0m30.641s
CLANGPDB build time improved by +51%
Steven Shi (1):
BaseTools: Enable GNU make parallel jobs by default
BaseTools/Conf/tools_def.template | 4 ++++
BaseTools/Source/Python/AutoGen/GenMake.py | 5 +++--
BaseTools/Source/Python/AutoGen/PlatformAutoGen.py | 12 +++++++++++-
3 files changed, 18 insertions(+), 3 deletions(-)
--
2.22.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85757): https://edk2.groups.io/g/devel/message/85757
Mute This Topic: https://groups.io/mt/88484952/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-