What is ....

Roger Oberholtzer roger
Fri Feb 10 15:11:21 PST 2006


On Fri, 2006-02-10 at 07:38 -0600, Ben Duncan wrote:
> Ok, you have my FULL attention now Kurt ...
> 
> Anyway, a multi value is designed to use variable length fields in
> a variable length record format , Hence the statement in it is
> relatively space efficient. Using only what it needs without any
> pre-defined format for data layout.
> 
> However, as I uderstand it (;->) a "file manger" using the
> ext2/3 or other, is going to be constrained by the inode/block
> allocation for access, no? Meaning read's and writes are going to
> some form of the physical "page" size the system uses regardless of
> actual bytes in use in a file (is this correct?)
> 
> Now, on using bit map's, how does one go about keeping them
> in the CPU or even L1 cache, or is that automatic (or do you use the
> REGISTER type?)

I think the register type modifier is not so useful these days.
Compilers are very good at putting oft used variables in registers. In
fact, some compilers silently ignore the register modifier and decide on
their own where to store variables.

I doubt a user program can do very much to keep things in the cache.
Remember that Linux is multi-tasking OS, so other processes will also
use the cache.

Your best bet is to try program profiling. This can help you locate
candidate code for improvement. Things like using inline code rather
than #define macros. There are a few things that you can do that can
make a big improvement. But profiling is a start.

Also, intel claim that their C/C++ compiler can produce code that is 20%
faster than GNU gcc, while remaining source and binary compatible. If
speed is an issue, this could be something to consider. We are currently
evaluating intel's claims in an image processing project. No details
yet.

--
Roger



More information about the Linux-users mailing list