A better question -- what is the performance, Everett vs. Whidbey?

by Michael S. Kaplan, published on 2005/05/10 20:41 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/05/10/416187.aspx


Rico Mariani decided to try a managed version of the dictionary I talked about earlier today. According to Rico, the question of the hour is:  How does Raymond's program fare vs. the equivalent managed code below?

But as far as I am concerned, the question of the hour is Where is this code faster -- in the 1.1 or the 2.0 version of the .NET Framework?

The reason I ask is that there have been some definite cool changes in Whidbey around in encodings between versions -- previously the .NET Framework would simply wrap the Win32 APIs (meaning you could only support the code pages that were installed on the machine) but in the new version there is an independent implementation that will work on all platforms where .NET can be installed....

It probably also makes for a more interesting test to compare Whidbey vs. Raymond's original code, to avoid the hit of the old, wrapper version of the same functions that the unmanaged code was calling....


# Anonymous Coward! on 10 May 2005 8:59 PM:

<i>but in the new version there is an independent implementation that will work on all platforms where .NET can be installed....</i>

I am sorry but you guys need to come out of this concept. Windows 3.11, 95, 98, NT and XP are NOT different computing platforms. They are just (slightly) different operating systems with One common API, there is only ONE platform associated with them all - Wintel. See http://en.wikipedia.org/wiki/Platform_(computing)
.

# Michael S. Kaplan on 10 May 2005 9:30 PM:

I guess it depends on your definition -- mine (and that of many others) is that SOFTWARE platforms exist as a concept, and that for software developers they can be just as relevant if not moreso.

# Michael S. Kaplan on 10 May 2005 10:28 PM:

Also, AC -- if you look at the Wikipedia article you cited, it says the same thing:

----------------------------
Role in software

A platform is a crucial element in software development. A platform might be simply defined as 'a place to launch software'. Platforms are frequently mentioned with APIs. A complete suite of APIs constitute another type of platform. Platform frequently are referred to as operating systems as defined above. However they are not always the same thing. For example, 2 other popular non-OS platforms are Java, as mentioned above, and BREW for mobile phones.
----------------------------

Since I am a software person and other than a small keyboard fetish (I have 15 different language keyboards) don't really do anything special with hardware at all. So it is a natural and obvious thing for me to be talking about software platforms, and almost everything I say here refers equally to IA64 and x64. :-)

# Dean Harding on 11 May 2005 12:08 AM:

They certainly don't have one API either, the number of differences between them all is quite significant!

In my opinion, saying Windows 95 is the same platform as Windows 2000 is like saying FreeBSD is the same platform as Red Hat Linux.

# James Clarke on 11 May 2005 7:11 AM:

My experience of upgrading a largeish solution from VS.NET2003 to VS2005 was pretty horrible (see that stats on by blog) in terms of the performance / memory usage of the VS tool.. A big backward step currently (VS Beta2)

# Michael S. Kaplan on 11 May 2005 8:22 AM:

Hi James --

I was of course talking about a single, targetted scenario (take the code Rico provided, run it under both platforms), but that does not make this an interesting issue.

Is anyone looking into the issues that may e causing the problem?

# Michael S. Kaplan on 11 May 2005 9:10 AM:

The URL attached to this post is the pernalink to the post James is referring to -- should make it easier to find than seeing it scroll....

# Anonymous Coward! on 11 May 2005 9:53 AM:

I guess the definition for a "platform" is so loose that you can stretch it to almost any extent. To me calling Windows 9x NT XP as different platforms is far too overkill. Linux is a platform - Linux/x86, Linux x86_64, Linux Alpha ... etc. are NOT different platforms since the OS provides the exact same API to applications.
I don't understand it when you say Windows NT and XP are so different to be called separate platforms. Both support the Win32 API correct? There might be additional facilities available in XP but that surely does not qualify it as a different platform.

# Michael S. Kaplan on 11 May 2005 10:22 AM:

Someone once pointed out that if a martian were to look at all human languages, they would probably say they are "the same". Does this make it any easier to understand any language, instantly?

Of course not.

The differences between platforms are huge, even when the changes are not noticed by most. That is why it is easy when you are up close to say that Win2000 and XP are two different platforms -- because in many senses, they are.

# Michael S. Kaplan on 11 May 2005 10:34 AM:

But to give the whole issue context -- a platform in the most generic sense is a base, from which you can build. Thus 2000 and XP, .NET 1.1 or 2.0 are all platforms, and whether you consider some of them to be different versions of the same platform does not mean that you are not talking about platforms.

referenced by

2007/02/23 Writing better, faster code

go to newer or older post, or back to index or month or day