Re: Time to heat up the new module discussion



On Fri, 14 Jul 2006, [ISO-8859-1] Steve Frécinaux wrote:
Ben Maurer wrote:

Please read my previous emails. Designing everything in C will not help.
Evolution, OpenOffice and Firefox are evidence that writing your app in
C does not make it memory efficient. In the long term, a moving GC may
be beneficial.

Does "using a GC" really mean you have to use a big bloated
memory-hungry virtual machine ?

Here we go with the "X is bloated" track again. I'm sure that gtk+ is very bloated because evolution is memory hungry.

Well, no. Inkscape uses a GC, and it is
written in C++.

It's fairly hard to do this. A moving gc in C++ would be even harder.

If ever VM were able to share libs, it would be a great improvement, but
currently they can't. It means the managed part of the code is loaded

Mono can do this. Read about AOT>

for every managed app you launch. Which is far from optimal in the case
of permanently running apps.

Even when we are not AOTing, the amount of ram dedicated to JITed code is small. If you are going to bitch, bitch with NUMBERS. The only performance data on this thread was the vmsize of a few applets, which means absolutely nothing.

Just as a number for starters: when launching banshee without AOT, it takes 600 kb of JITd code space. Let's say it's really more like 1 MB after lots of use (probably higher than it actually is). Maybe there are 4 managed apps (Banshee, F-Spot, Beagle, Tomboy). That's 4 MB vs 1 MB if 100% of it was shared as in C. Not a lot. In the long term, we'll probably get more of a win with compacting from a GC than this.

What's more: we can do better. When Mono improves it's code generation, every app benefits. In addition, AOT can reduce this problem.

At some point, we also have to realize that users with less memory do
need to make compermises. For example, such a user might want to choose
not to use Beagle.

I don't use Beagle, and in fact I hope the alternate Tracker project
will solve this problem. I don't use deskbar as well, nor banshee since
the player is at the limit between a daemon and a classical app.

Just because GNOME has program X doesn't mean you have to use it. For example, having Evince doesn't prevent anyone from using acroread.

-- Ben


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