ï
I did not mean to suggest that the CLI was better or worse, what I was trying to refer to was the "unsafe" keyword. If I remember correctly Java "frowned" on this capability (direct pointer manipulation).
 
But besides that, just some of the nice features of C# make it worth while. I didn't mean to start the wars again :-) ... more or less, citing some information I read on various sites and documentation. I have not tried or used "unsafe" code at all. but it stands to reason that if you bypass the GC management and manipulation, you get "close to the metal" type of performance. But again, I will say that I have not tried it myself.
 
Here are some examples of what I am referring to in a few web sites.
 
http://www.experts-exchange.com/Programming/Programming_Languages/C_Sharp/Q_20831609.html
 
http://www.codeproject.com/csharp/unsafe.asp
 
http://www.codesta.com/knowledge/technical/csharp_clr/page_03.jsp
 
http://www.yasd.com/tutorials/c_sharp/chap17_1.htm
 
http://authors.aspalliance.com/gaurav/unsafe_program.aspx
 
http://www.google.com/search?q=%2B%22C%23%22+%2Bunsafe&hl=en&lr=&ie=UTF-8&oe=UTF-8&start=0&sa=N
 
Hopefully this clarifies what I was saying a little bit. ( Watch our for Line Wraps)
 
Sincerely,
 
Richard Norman
Web/Application Developer
 
 
 
*****************************************************

Message: 2

Subject: Re: [Mono-list] FW: evangelizing mono

From: Jakub Hegenbart <[EMAIL PROTECTED]>

To: [EMAIL PROTECTED]

Date: Wed, 18 Feb 2004 15:44:42 +0100

V ÃâÃÅt, 17. 02. 2004 v 11:59, Radu-Adrian Popescu pÃâÃÃÂÃâe:

> I think you're plain wrong calling C# bare metal performance when

> you've used that exact phrase to describe C++'s performance.

> I'm not Java against .NET here, but:

> Like it or not, the JVM's performance is superior to that of the .NET

> VM, and it sometimes outperforms even C++ native code. This is not

> FUD, it's not lets-do-it-this-way-cos-it-will-prove-me-right

> benchmarking, it's due to the differences in the way some code you

> wrote runs: compiled once to native code versus compiled to byte-code

> and then re-compiled and profiled and adjusted multiple times during

> run-time.

> This performance improvement has often been noticed when doing stuff

> like regexp or xml.

> I don't really see any reason the .NET VM would not achieve this state

> of the art, but it's just not there yet. Naturally there's loads of

> other areas where .NET is faster than Java, take for one GUI

> applications. But that's a corner-case (no, don't start cursing, it's

> probably more important than regexp or recursive methods) compared to

> the raw ability of dynamically re-writing and optimising pieces of

> code. And hey, let's not forget Java/IBM's SWT :-)

>

> Cheers,

Yes, today's JVM is an amazing thing. Even if it consumes more memory than C#, C++ and C apps (but not much more than C#!), the speed is amazing if you imagine the level of abstraction it allows while staying almost at par with native compiled code.

The CLI might be technologially more advance by the means of the IL expressivness, but ain ll the implementations (even in Mono :), there are still many things to improve. (Having said that, there were many things done already. Thanks, Ximian!) CLI needs a few more years. And yes, Java's denial of AOT compilation might really be compensated by dynamic recompilation features more than adequately.

For an server app, it doesn't matter how fast it starts (well, ALMOST doesnt :). The only important thing is how fast it runs and even if Gtk#

+ C# responds faster than Swing-based Java GUI on my Linux-powered

notebook, how can it be that JVM (Sun JVM 1.4.2) is some 20% slower than

C++ (GCC 3.2 -O switch) on an equivalent piece of code, while C# (Mono

0.30) is twice that slow? (I wrote some simple code to prove late/early binding calls efficiency and the results were exactly the same for both version on all three languages.)

For me, personally, the most beautiful things on Mono are its GPLness and ust (althougn not explicit) anti-MS-monopoly orientation (the second goes for Java as well of course). That doesn't mean i'm an anti-MS zealot, that means that i just happen to like alternatives :) If the language behind CLR was Java, i wouldn't mind.

And with Mono, the "bare metal performace" still lies far ahead. Which is nothing wrong - it would be if it stayed this way but i strongly diselieve that Mono won't develop. The momentum seems to be there already.

Just my humble opinion. Competition is good! (somebody should finally exlain it to the Redmond company :)

Jakub Hegenbart

Reply via email to