Thread (7 messages) 7 messages, 5 authors, 2007-08-30

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 set
Here'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
-- 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help