mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Rob Landley <landley@webofficenow.com>
To: Larry McVoy <lm@bitmover.com>, Ben Greear <greearb@candelatech.com>
Cc: Aaron Lehmann <aaronl@vitelus.com>,
	hps@intermeta.de, linux-kernel@vger.kernel.org
Subject: Re: [OT] Threads, inelegance, and Java
Date: Wed, 20 Jun 2001 08:36:07 -0400	[thread overview]
Message-ID: <01062008360706.00776@localhost.localdomain> (raw)
In-Reply-To: <20010620042544.E24183@vitelus.com> <3B30BD5D.153A5FE9@candelatech.com> <20010620095329.M3089@work.bitmover.com>
In-Reply-To: <20010620095329.M3089@work.bitmover.com>

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 
stack.

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 
MIcrosoft...

Rob

  reply	other threads:[~2001-06-20 17:37 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-19 14:53 accounting for threads Dan Kegel
2001-06-19 14:57 ` J . A . Magallon
2001-06-19 15:44 ` ognen
2001-06-19 15:58   ` Alan Cox quote? (was: Re: accounting for threads) Dan Kegel
2001-06-19 16:02     ` Ben Pfaff
2001-06-19 16:09     ` Larry McVoy
2001-06-19 16:26       ` Matthew Kirkwood
2001-06-19 16:52         ` Larry McVoy
2001-06-19 18:18           ` Rob Landley
2001-06-19 23:31           ` Timur Tabi
2001-06-20 11:52             ` Rob Landley
2001-06-20 21:20               ` Albert D. Cahalan
2001-06-20 18:12                 ` Rob Landley
2001-06-20 23:28                   ` Dan Podeanu
2001-06-21  0:42                   ` D. Stimits
2001-06-20 20:18                     ` Rob Landley
2001-06-21  1:57                       ` D. Stimits
2001-06-21 14:46                         ` Idea: Patches-from-linus mailing list? (Was Re: Alan Cox quote? (was: Re: accounting for threads)) Rob Landley
2001-06-21 14:02                   ` Alan Cox quote? (was: Re: accounting for threads) Jesse Pollard
2001-06-21 14:18                     ` Rob Landley
2001-06-22 14:46               ` Mikulas Patocka
2001-06-22 13:29                 ` Rob Landley
2001-06-24 21:41                   ` J . A . Magallon
2001-06-24 16:55                     ` Rob Landley
2001-06-24 22:30                       ` J . A . Magallon
2001-06-24 18:21                         ` Rob Landley
2001-06-25 13:48                           ` J . A . Magallon
2001-06-24 22:39                         ` Steven Walter
2001-06-24 23:50                         ` Larry McVoy
2001-06-24 20:24                           ` Rob Landley
2001-06-25  0:05                           ` J . A . Magallon
2001-06-25  0:32                             ` Gerhard Mack
2001-06-25  0:59                               ` Davide Libenzi
2001-06-25  2:18                         ` Galen Hancock
2001-06-20 14:59           ` Matthias Urlichs
2001-06-20 19:14           ` Victor Yodaiken
2001-06-20 21:01           ` RE:Why use threads ( was: Alan Cox quote?) David Schwartz
2001-06-20 21:26             ` Why " Victor Yodaiken
2001-06-20 22:18               ` David Schwartz
2001-06-20 22:41                 ` Davide Libenzi
2001-06-20 22:47                   ` [OT] " Jeff Garzik
2001-06-21  0:21                   ` David Schwartz
2001-06-21  0:56                     ` Davide Libenzi
2001-06-21  1:32                       ` David Schwartz
2001-06-21  2:22                         ` Davide Libenzi
2001-06-21  2:43                           ` David Schwartz
2001-06-21 16:10                             ` Davide Libenzi
2001-06-21 19:55                               ` Marco Colombo
2001-06-20 22:43                 ` Mike Castle
2001-06-21  1:43                   ` David Schwartz
2001-06-19 17:10       ` Alan Cox quote? (was: Re: accounting for threads) Matti Aarnio
2001-06-19 17:20       ` Mike Castle
2001-06-19 17:37         ` Larry McVoy
2001-06-19 17:45           ` Mike Castle
2001-06-19 19:38             ` Georg Nikodym
2001-06-19 19:56               ` Michael Meissner
2001-06-19 17:53           ` Steve Underwood
2001-06-19 19:01             ` Alan Cox
2001-06-20  2:57               ` Michael Rothwell
2001-06-20  3:04                 ` Larry McVoy
2001-06-20  3:38                   ` John R Lenton
2001-06-20 10:21                   ` john slee
2001-06-20 18:08                     ` Larry McVoy
2001-06-20 16:21                   ` Davide Libenzi
2001-06-20  9:14                 ` Alan Cox
2001-06-22  2:36                   ` Michael Rothwell
2001-06-19 18:08           ` Georg Nikodym
2001-06-19 20:57       ` David S. Miller
2001-06-19 21:15         ` David S. Miller
2001-06-20  0:04         ` Chris Ricker
2001-06-20  0:59           ` Robert Love
2001-06-19 17:36     ` Jonathan Lundell
2001-06-19 17:41       ` Larry McVoy
2001-06-19 21:11       ` Jonathan Lundell
2001-06-19 23:56         ` Jonathan Lundell
2001-06-20  0:19           ` Mike Castle
2001-06-20  0:28             ` Larry McVoy
2001-06-20  1:30               ` Ben Greear
2001-06-20  2:14                 ` Mike Castle
2001-06-20  9:00               ` Henning P. Schmiedehausen
2001-06-20 11:25                 ` [OT] Threads, inelegance, and Java Aaron Lehmann
2001-06-20 11:25                   ` Rob Landley
2001-06-20 17:36                     ` Martin Dalecki
2001-06-20 19:27                       ` Mike Harrold
2001-06-20 17:46                         ` Rob Landley
2001-06-20 19:53                         ` Martin Dalecki
2001-06-20 17:53                           ` Rob Landley
2001-06-21  7:45                             ` Albert D. Cahalan
2001-06-20 20:16                         ` Pete Zaitcev
2001-06-20 22:05                           ` Alan Cox
     [not found]                     ` <20010621000725.A24672@werewolf.able.es>
2001-06-20 19:15                       ` Rob Landley
2001-06-21  3:13                       ` Pete Zaitcev
2001-06-21 13:59                         ` Rob Landley
2001-06-21  9:40                       ` Jonathan Morton
2001-06-21 16:48                     ` Adam Sampson
2001-06-20 15:12                   ` Ben Greear
2001-06-20 15:44                     ` Russell Leighton
2001-06-20 16:32                       ` Davide Libenzi
2001-06-20 16:54                         ` Russell Leighton
2001-06-20 17:03                         ` Tony Hoyle
2001-06-20 15:10                           ` Rob Landley
2001-06-20 20:23                             ` Tony Hoyle
2001-06-21  8:12                               ` Henning P. Schmiedehausen
2001-06-20 20:40                             ` Richard B. Johnson
2001-06-20 20:48                               ` Tony Hoyle
2001-06-20 21:00                               ` Daniel Phillips
2001-06-20 21:06                                 ` Richard B. Johnson
2001-06-20 18:14                         ` Henning P. Schmiedehausen
2001-06-20 16:53                     ` Larry McVoy
2001-06-20 12:36                       ` Rob Landley [this message]
2001-06-20 21:14                     ` Aaron Lehmann
2001-06-20 18:09                   ` Henning P. Schmiedehausen
2001-06-20 19:05                   ` William T Wilson
2001-06-19 16:02   ` Alan Cox quote? (was: Re: accounting for threads) David S. Miller
2001-06-19 16:12     ` Padraig Brady
2001-06-19 19:10     ` bert hubert
2001-06-19 19:18       ` Alan Cox
2001-06-19 19:32         ` bert hubert
2001-06-19 19:43         ` Alexander Viro
2001-06-20 15:22         ` Jes Sorensen
2001-06-20 15:33           ` Alexander Viro
2001-06-20 15:59             ` Threads are processes that share more bert hubert
2001-06-20 16:15               ` Alexander Viro
2001-06-20 18:48               ` Martin Devera
2001-06-20 19:19                 ` Unknown PCI Net Device Greg Ingram
2001-06-20 22:53                   ` Andreas Dilger
2001-06-20 22:56                     ` Jeff Garzik
2001-06-20 23:00                     ` Alan Cox
2001-06-20 22:08               ` Threads are processes that share more Stephen Satchell
2001-06-20 22:14                 ` ognen
2001-06-20 23:10                 ` J . A . Magallon
2001-06-24 23:47                   ` Larry McVoy
2001-06-25  2:23                   ` David S. Miller
2001-06-20 16:39             ` Alan Cox quote? (was: Re: accounting for threads) george anzinger
2001-06-20 18:35               ` Alexander Viro
2001-06-21  4:11                 ` Rusty Russell
2001-06-21 23:37                   ` Alexander Viro
2001-06-21 23:55                     ` Alexander Viro
2001-06-22 14:53                     ` Richard Gooch
2001-06-20 16:40             ` Jes Sorensen
2001-06-20 20:09             ` Rob Landley
2001-06-20 19:05         ` Victor Yodaiken
2001-06-20 14:35       ` Mike Porter
2001-06-20 11:56         ` Rob Landley
2001-06-19 18:01   ` Alan Cox quote? Kai Henningsen
2001-06-19 18:49     ` Larry McVoy
2001-06-19 20:12     ` Henning P. Schmiedehausen
2001-06-19 21:12     ` Richard Gooch
2001-06-19 22:50       ` Henning P. Schmiedehausen
2001-06-20 21:13 [OT] Threads, inelegance, and Java Holzrichter, Bruce
2001-06-20 21:17 ` Richard B. Johnson
2001-06-21  4:10 Dan Kegel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01062008360706.00776@localhost.localdomain \
    --to=landley@webofficenow.com \
    --cc=aaronl@vitelus.com \
    --cc=greearb@candelatech.com \
    --cc=hps@intermeta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@bitmover.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®