Re: Extreme memory usage for gnome-panel related apps



On Sun, 2007-12-02 at 14:37 -0500, Colin Walters wrote:
> And more generally, to have one VM per language type, rather than per
> app.

I suppose one problem you'd have to deal with is the tendency for a
segfault to take out the entire VM.

The C [only] programmers reading this are, of course, all used to
writing programs that can crash. Certainly we don't want this to happen,
but when we do something wrong, we get a nice segfault and fire up GDB
on the aborted program to start debugging it. The rest of your desktop
keeps running. Yeay.

Because a {pyGTK, java-gnome, gtk#, whatever} application is of course
linking against the native GTK library, when you get a crash in GTK the
*program* you are crashing is the {Python VM, Java VM, ...} 

If you were to try and get all the programs running in a managed
language into a single process, then we'd have to figure out how to not
take out all the other applications that happen to be running in that VM
when your buggy thunders in.

        [Java, for example, *is* capable of running _many_ disparate
        programs - infrastructure like separate ClassLoaders and fairly
        rigorous visibility and security policy between classes provides
        for this, and you see it in production use all the time in
        Servlet containers, enterprise application servers etc - and it
        all works quite well **provided** they are all written in pure
        Java and make no native calls]

People across the computing spectrum have been tantalized by this
prospect for a long time, but I get the impression that everyone gets
hung up on the "what do you do when a native library call crashes your
VM" issue.

Otherwise, wouldn't it be wonderful to have a single Python VM, a single
Java VM, etc. Shit, make it a kernel module.

Oh well.

AfC
Bangalore

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]