By: Rayla (rayla.delete@this.example.com), July 27, 2022 12:44 pm
Room: Moderated Discussions
I did some code density comparisons for a gemlog post I was writing. This is just the size of the buildroot-generated busybox binary, across every buildroot-supported target except CSky, with a preference for "typical" embedded configs when possible and with -Os as the optimization flag. I thought folks here might find it at least a little interesting.
Feel free to criticize my methodology! I don't pretend this is super scientific, but I thought it was an interesting data point.
- ARC LE - 623,912 bytes - 8K pages, HS38 Quad MAC + FPU target
- ARM Thumb2 LE - 599,248 bytes - Thumb2, VFPv4-D16, Cortex-A7 target
- ARM64 LE - 779,936 bytes - Cortex-A76 target, FP-ARMv8
- x86 - 713,916 bytes - i686 target
- m68k - 698,776 bytes - M68040 target
- Microblaze LE - 1,223,148 bytes - No target specific settings available
- MIPS32 LE - 1,017,196 bytes - P5600 target, no softfloat
- MIPS64 LE - 989,024 bytes - P6600 target, no softfloat, n32 ABI
- NDS32 - 888,124 bytes - No target specific settings available
- Nios II - 892,316 bytes - No target specific settings available
- OpenRISC - 1,133,164 bytes - No target specific settings available
- PPC32 - 984,396 bytes - 476FP target
- PPC64LE - 985,552 bytes - Power8 target
- RV64GC - 741,856 bytes - ilp64d ABI
- RV32GC - 719,916 bytes - ilp32d ABI
- S390X - 907,712 bytes - z15 target
- SH-4A LE - 842,884 bytes - No target specific settings
- SPARC32 - 931,064 bytes - generic SPARCv8
- SPARC64 - 997,624 bytes - generic SPARCv9
- x86_64 - 747,224 bytes - Haswell target
- Xtensa - 1,216,228 bytes - fsf target
Feel free to criticize my methodology! I don't pretend this is super scientific, but I thought it was an interesting data point.