-
Notifications
You must be signed in to change notification settings - Fork 7
kernel build time and size data (comparison of esstra with non-esstra builds) #41
Description
Here is some data from my tests performing Linux kernel builds with esstra.
My machine is a Dell desktop (x86_64), with 16 cores, 32G RAM, and 188G of open space on a 1.8T drive.
I was building just the statically linked kernel binary image (vmlinux), without building modules.
I used the config for my desktop machine, derived from the default Ubuntu 24.04 x86_64 config.
A kernel build without esstra installed takes:
1st run:
real 10m59.139s
user 110m50.858s
2nd run:
real 11m4.708s
user 110m52.484s
3rd run:
real 11m0.665s
user 110m55.890s
Average:
real 11M1s (661s)
user 110m53s (6603s)
A kernel build with esstra installed took:
1st run:
real 12m29.011s
user 114m21.491s
2nd run:
real 11m53.083s
user 114m50.584s
3rd run:
real 11m48.747s
user 114m46.115s
Average:
real 12m3s (723s)
user 114m39 (6879s)
Kernel build overhead was approximately:
9.4% real time
4.2% cpu time (in user space)
For output file size that included esstra data, I got the following numbers:
(all sizes in bytes, unless shown otherwise with a suffix)
without esstra data:
- vmlinux: 453,766,632 (453M)
- arch/x86/boot/compressed/vmlinux: 14,100,280
- arch/x86/boot/compresses/vmlinux.bin: 56,626,008
- arch/x86/boot/compresses/vmlinux.bin.zst: 13,835,528
- arch/x86_64/boot/bzImage: 14,524,607
with esstra data:
- vmlinux: 766,636,328 bytes (766M)
- arch/x86/boot/compressed/vmlinux: 16,189,240
- arch/x86/boot/compresses/vmlinux.bin: 369,495,688
- arch/x86/boot/compresses/vmlinux.bin.zst: 14,453,836
- arch/x86/boot/bzImage: 16,613,567
The size of the extracted esstra data (in raw format) for vmlinux was:
vmlinux.esstra-data: 155583207
There's an approximately 310M difference in size between vmlinux without esstra
data and the vmlinux with esstra data. That's suspiciously close to 2 times the
size of the esstra data. I haven't looked at the actual ELF layout to see what the
remaining approximately 156M of difference in size is. (Possibly a duplicate
.esstra section, or some other hole that is .esstra-sized, but I need to check).
I hope this data is useful