linux-mips
[Top] [All Lists]

Re: Average number of instructions per line of kernel code

To: Mohamed Bamakhrama <bamakhrama@gmail.com>
Subject: Re: Average number of instructions per line of kernel code
From: "J. Scott Kasten" <jscottkasten@yahoo.com>
Date: Thu, 30 Aug 2007 12:29:38 -0400 (EDT)
Cc: linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-YMail-OSG:Date:From:X-X-Sender:To:cc:Subject:In-Reply-To:Message-ID:References:MIME-Version:Content-Type; b=24jq95gGiVL+sPJiS282h6PaMTFeaKXHXn+Dda0SOBSPRvcD3awOJXDKxDy6mf19EOz4L+bW21pAUcQheNPJVozbreWa2dxzi/wf0pDrULEFkXZ04r3XNW085gjW79gmrXen6OZVpksfuqDukyUBQ+j+XtnvmTjvsKRWZmbppqw= ;
In-reply-to: <40378e40708300648i4f016906v60f821bf182a5633@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <40378e40708300600h5837d46ci5266b8ae62bbd46e@mail.gmail.com> <9a8748490708300631o285fd31ch462199ec9535c6c2@mail.gmail.com> <40378e40708300648i4f016906v60f821bf182a5633@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org

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.

I'm guessing that ball park, you're looking at 3-5 average - 10 seems high except in sections with lots and lots of inlines.

Regards,

-S-

<Prev in Thread] Current Thread [Next in Thread>