[lkml]   [2001]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [OT] Threads, inelegance, and Java
    On Wednesday 20 June 2001 12:53, Larry McVoy wrote:

    > We couldn't believe that Java was really that bad so our GUI guy, Aaron
    > Kushner, sat down and rewrote the revision history browser in Java.
    > On a 500 node graph, the Java tool was up to 85MB. The tk tool doing
    > the same thing was 5MB. Note that we routinely run the tool on files
    > with 4000 nodes, we can't even run the Java tool on files that big,
    > it crashes.

    I can second that.

    I recently mentioned an OS/2 abonination called Feature Install. Around 1996
    I tried to port Feature Install to java 1.0. I got as far as the response
    file reading code, and reading in a 100k file exhausted available memory on
    the 32 megabyte machine I was working on.

    Remember, every single java object includes a BUNCH of data, including two
    semaphores (one event, one mutex) and who knows what else. On OS/2 the
    overhead of a java 1.0 object (new Object();) was 2 kilobytes! In later
    versions they got that down to around 200k, but it's still just rediculous.
    Every single String, every pointless Integer() wrapper, every temporarily
    created Stringbuffer() discarded by a + operation left there littering the

    Plus I have yet to see a JVM that actually reclaims heap space after a
    garbage collect and gives it back to the OS. (You have to be able to
    relocate objects to do this at all reliably...)

    So if you create a large number of small objects, EVER, (tree, etc,) it's
    going to explode the heap and it'll never come down until the program exits.

    > So, yeah, we have done what you think we haven't done, and we've tried
    > the Java way, we aren't making this stuff up. We run into Java fanatics
    > all the time and when we start asking "so what toolkits do you use" we
    > get back "well, actually, err, umm, none of them are any good so we write
    > our own". That's pathetic.

    Also true.

    The Graphics class isn't too bad, and lightweight containers are actually
    quite nice. But swing is just insanely bad (I have to understand
    model/view/controller and select a look-and-feel just to pop up a dialog with
    an "ok" button?), and the only serious third party challenger to it was from

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:55    [W:4.105 / U:0.136 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site