status of gcj's boehm collector?
Boehm, Hans
hans_boehm@hp.com
Tue Dec 4 17:23:00 GMT 2001
> From: Adam Megacz [mailto:gcj@lists.megacz.com]
> Yeah, but that would be a huge win for me. My project (www.xwt.org)
> provides rich user interfaces for XML-RPC/SOAP web services. Latency
> is paramount, throughput relitavely unimportant (I don't ask much of
> the CPU).
What kind of latency have you seen? I'd actually love a few more examples
where the stop-the-world collector is clearly inadequate on modern hardware.
>> Does anybody know any other tricks for reducing pause times? I guess
> "create less objects" is one answer, and I'm going to try that...
Buy a machine with more processors and faster memory :-) . (That might even
agree with my employers position ...)
I you are targeting X86, and you know that the code will run on a Pentium
III or IV, turn on prefetching support in the collector.
Creating fewer objects won't really reduce pause times, though it will
decrease the frequency of pauses. Pause times for stop-the-world-gc are
mostly determined by the amount of reachable memory, including the size of
the root set. I think a reasonable rule of thumb these days is to take the
amount of reachable memory, calculate roughly how long it would take to read
it all into the cache given the machines memory bandwidth, and multiply by
some small factor like 2 or 3.
If you compare gcj to something like HotSpot with the Train collector turned
off, I think you will find that the worst case pause times are appreciably
less for gcj, though you will probably see more frequent noticable pauses.
Hans
More information about the Java
mailing list