Re: Fastcode MM Rule



Hi Robert,

> Just out of curiosity, have you ever verified what part of the total
> memory consumption the blocks smaller than 32 bytes are responsible for?

In the combined usage of all the MM B&V replays, about 80% of all getmem
calls are for 32-bytes or less. The peak memory usage for these requests
depends on the block sizes that you use, so it will vary from MM to MM. If I
recall correctly, the last time I tested it it was in the region of 30%.
However, it's not only the memory usage that is a concern: If the blocks are
smaller they can be more tightly packed and that speeds up access speeds,
something which our B&V tool does not really measure. (We write the
beginning and end of blocks, but never again read them.)

At the moment the lookup tables of the MMs are almost always cached and the
conditional branches are all inside the branch prediction tables, since the
benchmarks themselves have very little code behind them. I have found that
sometimes the B&V tool says a change to my MM makes it faster (using the
replay) and then I test it with a stopwatch on the program itself and it
turns out to be slower.

Another example is the FastMove library: I find that the latest version
actually slows down my application when compared to an old MMX move routine
of John's, even though the Move B&V tool says the latest version should be
faster.

I don't think a B&V tool can ever substitute real-world testing with a
stopwatch... not unless the B&V tool incorporates actual applications.

> In your tests with your new MM, what kind of memory reduction do you
> observe?

Very difficult to say. It depends on many different factors and on the
multi-threaded benchmarks it varies on every run. The new architecture is a
bit different to v3 as well, so it's hard to compare apples to apples (v3
doesn't have any boundary markers).

Regards,
Pierre


.



Relevant Pages

  • How to find out how many other processes share VM with $PID?
    ... I was a bit frustrated by bad quality of memory usage info ... I know how to detect and correctly account for threads ...
    (Linux-Kernel)
  • Re: store.exe memory usage
    ... Then I do have some iPhone users and then of course the ... restart following that seems to have helped a bit, ... usage and optimizing memory in Exchange 2003.; ... restart here is what I observe about store.exe's memory usage (task ...
    (microsoft.public.exchange.admin)
  • Re: Backup fails with volsnap error
    ... memory usage is way over the top. ... In fact, if you get Trend under control, you'll probably see Exchange grab ... The Trend requirments say 512MB of RAM for the system.... ... I will talk to Trend about the memory usage. ...
    (microsoft.public.windows.server.sbs)
  • Re: Memory problem
    ... > I test the memory usage with my System Resources Manager and the top ... > command (I work with Linux but the Mac forums are the only place to go ... There are two levels of memory allocation going on here, ... One level is the malloc level, where you can request things in byte-sized ...
    (comp.sys.mac.programmer.help)
  • Re: Indexing uses *lots* of memory
    ... I'm not worried about store.exe memory usage (the ... server supports over 500 users). ... please refer to the following Microsoft ...
    (microsoft.public.exchange2000.general)