[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0708302147450.24730@fbirervta.pbzchgretzou.qr>
Date: Thu, 30 Aug 2007 21:49:13 +0200 (CEST)
From: Jan Engelhardt <jengelh@...putergmbh.de>
To: "J. Scott Kasten" <jscottkasten@...oo.com>
cc: Mohamed Bamakhrama <bamakhrama@...il.com>,
linux-mips@...ux-mips.org, linux-kernel@...r.kernel.org
Subject: Re: Average number of instructions per line of kernel code
On Aug 30 2007 12:29, J. Scott Kasten wrote:
> On Thu, 30 Aug 2007, Mohamed Bamakhrama wrote:
>> > > 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
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists