Hi all,
Well I've been doing serious programming in Java for a couple of years
now. My current project uses the highly regarded IntelliJ IDEA
environment on my Mac OS X workstation. I noticed that the heap was
getting fairly large, about 90Mb. As I was about to take a break I
decided to invoke the garbage collector (just for fun).
To my amazement, this caused my Mac to buckle at the knees as if I
had asked it to do something difficult. The cursor spun for a good
30 seconds and the entire user interface was unresponsive for perhaps
10-20 seconds. I was quite surprised since my workstation has 900Mb
of RAM, has a 800Mhz PPC processor which, though far from top of the
range, should easily cope with this demand.
To double-check that my expectation was realistic I fired up my
lackluster Linux box and launched Poplog. I then switched off the
copy-based garbage collector (probably unfavorable for Poplog)
and created a fairly messy data structure of 100Mb (exclusively
"full" data - no cheating with non-full data types.)
I then triggered a garbage collection which Poplog completed in
less than 6 seconds. I messed around a bit further to see if I could
trip Poplog up but didn't succeed in getting the delay up to 6 seconds.
And, for comparison, this was on Pentium II (350Mhz) with 320Mb RAM.
I found this a very sobering observation. Although the Java GC
is incremental and Poplog's is not, there are still plenty of
disruptive breaks in the IDE as the GC kicks in.
I can't easily account for this massive discrepancy in performance.
I presume, yet again, that John Gibson's work on the Poplog garbage
collector is the source of the difference. But the difference is
so extreme that I can't quite believe any explanation.
Now one could argue that the performance of the garbage collector
isn't much of an issue in practice. But when the IDE is running heaps
at +100Mb plus (and none of my applications execute in heaps in less
than +256Mb anyway) it is a key issue.
There no immediate conclusion to this post - except to wonder how the
heck I can get Poplog onto my Mac OS X system pronto!
--
Steve
|