Re: Average number of instructions per line of kernel code
flat view
From: Jan Engelhardt <hidden>
Date: 2007-08-30 19:49:23
Also in:
lkml
On Aug 30 2007 12:29, J. Scott Kasten wrote:
On Thu, 30 Aug 2007, Mohamed Bamakhrama wrote:quoted
quoted
quoted
Hi all, I have a question regarding the average number of assembly instructions per line of kernel code. I know that this is a difficult question since it depends on many factors such as the instruction setHere's a quick answer, not the best, but quick. I took a user space flash memory driver I'm doing at work and compiled it on my R5000 at home using gcc 4.1 and the MIPS3 abi, stopping with a .o file. I also ran the source through cpp and a couple of grep passes to strip out junk that wasn't really code. This driver may be somewhat typical of what you would run into as it has quite a few inline functions and such. The driver.o was about 23000 bytes. Forgetting about the symboltables and just dividing by 4 to estimate instructions and dividing by about 1650 net lines of code, I got about 3.5 instructions per line of C code.
objcopy -j .text input.o output.o objcopy -O binary output.o output2.o Then you can objdump -S output.o and count. output2.o has the ELF header stripped, so provides the raw size, but at the cost of not being able to run objdump. If you know that every instruction is fixed size, then of course output2.o is easy. Jan --