On Fri, 14 Jul 2006, Nate Nielsen wrote:
Steve Frécinaux wrote:Iain * wrote:As for .NET, even Microsoft themselves had to pull back from using it for core functionality due to performance reasons - why do we think we will do any better?As someone who is running mono based applications fairly regularly, I haven't noticed any major performance issues. We're not talking here about replacing the core libraries with c# based ones, we're talking about applications, and for me the mono based apps are just as fast as the C based ones.I'm not really against having C# apps in the core (in fact I don't really mind), what I'm more frightening about is having applications that run all the time, using managed languages, and, as a consequence, taking up a fairly large amount of memory, from the computer start to the shutdown. That's what I'm against including libraries, daemons or applets written either in C#, or in python, while having small apps you close once you're done (like alacarte) is fine.Perhaps daemons, applets and core libraries should evaluated on their performance merit independent of the language they're written in or the framework that they use. I'd imagine that those who have worked so hard on GNOME performance issues would be disappointed if they saw a C applet take 18 - 20 megs (resident) or take 10 seconds to load.
PLEASE learn how to measure memory. Resident is *NOT* a good measure of memory. You must use smaps to even begin getting an accurate measurement. Not a single person other than Federico and myself have used a number about performance that is relevant. This suggests that there are many people `me too'ing and not thinking about what they are saying. If you want to make groundless claims, comment on slashdot.
If the GNOME desktop becomes dependent on one single process like that, it wipes out most of what so many people have worked hard step by step to gain as far as startup speed and memory usage.
As you might realize, I'm one of those people. IMHO, having applications written in a framework that encourages maintainable, clean code is a step forward for performance. Do some of the Mono based applications need profiling: yes. Should we use performance as an excuse for not having Mono: no.
I don't think we should cut slack for a particular applet or daemon because it happens to be written using an inefficient platform. If its
I did not hear anybody suggest that. We're not cutting slack for anyone.
performance issues are not up to snuff, then it shouldn't be included as part of the GNOME desktop.
Should it be included by *default*: probably not. It needs to be clear that Mono applications will be accepted without bias as to their language. This is what is being requested.
That said, I bet the Mono guys could prove everyone wrong by optimizing managed code to where it approaches the startup speed and memory usage of lower level frameworks. That would be lovely. But it might mean not trying to emulate every last 'innovation' in MS .NET C# 3.0 etc... :)
Please show benchmarks that show issues here. Banshee and other c# apps seem to startup very fast. While memory usage isn't as good as it could possibly be, we're not talking about a huge amount here (see numbers from myself, federico). Again, in the long term, a moving GC will help us return memory to the system.
-- Ben