[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NIC info

Mario Wolczko wrote:
> Just off the top of my head: running a fairly standard ui2-based image
> containing 300Kb of bytecodes

I counted about 180K bytecodes (not KB of bytecodes) in the methods
in the image distributed with Self 4.0, but I skipped all the block
methods so I guess your memory is in perfect working order :-) 

> you need a code cache of 8-10Mb, of

Wow!!! I would have thought 1MB or something like that (maybe I
am reading too much into the spy's sizing of the different memory
regions, or I am vastly underestimating the size of the old region).

> which perhaps 75% is NIC code. 

That's what the spy seems to show, with the rest divided almost
equally (most of the time) between empty space and SIC code.

> So I'd guess an expansion of 25x is

Thanks! That is what I needed to know.

> about right (remember that some of this, perhaps 2x [a guess] is due
> to customization, though).

Dean, Grove and Chambers claimed a code expansion os 2.5 to 3.5 times
in their ECOOP95 paper. Of course, since they compiled statically they
must have generated many cases that didn't happen at runtime. So the
figure for Self must be somewhat lower (as you guessed). I will try
to find the exact number next week. I tried to use the profiler for
this, but it only knows method names, not receiver "types".

All of these calculations suppose that a large part of the 300KB of
bytecodes are represented in the cache at any one time. How close
is this to the truth?

-- Jecel