views:

312

answers:

5

Hi,

I've been using the Java Pet Store and .Net Pet Store examples for years when comparing JEE and .Net performance in an eBusiness type setting. Is there a better way to compare the performance of JEE and .Net for this type of application?

Update:

As some have pointed out below, the implementation, framework versions, architecture, and hardware can have much more influence on performance than using .Net vs. Java. I wholeheartedly agree with this. However, keeping this in mind, I would still like to know what kind of general comparison would be best. Since the pet shop is a fairly mature and general eCommerce test case, I tend to think it's pretty useful for a baseline.

+2  A: 

The pet store project in your link is .Net 2.0 which was released three years ago, in November 2005. Since then, there have been two additional releases (3.0 and 3.5), with many enhancements which could improve performance.

I guess it depends on whether you want to compare "mature" web app's, or those written with the latest version of the technology.

DOK
+3  A: 

It never was. The only thing it showed was that using a different architecture gives you different results. Taking shortcuts might give you better performance on a single machine, but worse scalability. For more shortcuts, see the prevayler version of the pet store. Modern java (and .net) also wouldn't build the application in the same way.

Stephan Eggermont
+4  A: 

There is never really a definitive measure for comparing the performance of platforms. For example, a comparison of the same J2EE platform could be impacted by minor configuration changes. It would seem that the platform is less of a factor in performance today than it once was, whilst design and architecture will have a bigger impact.

BrianLy
+1  A: 

No, there are no "definitive" ways of comparing performance between two platforms. You can compare the performance of two implementations of the same functionality, but that only tells you which implementation is more efficient, nothing about the underlying platforms.

The only valid way to see which is faster for your app is to get your app running on both Java and .NET, and benchmark the result.

Performance isn't a single linear scale. It depends.

But for most practical purposes, there won't be a significant performance difference. Both platforms are pretty mature and efficient these days.

jalf
+1  A: 

Perhaps the TPC benchmarks would be a better choice. I'm not sure of PetStore, but I recall the days when MS was doing all they could to prove a cluster of Windows PCs could beat a single Sun mainframe.

They've gone quiet on that front since .NET came out, I think they're just too busy :)

gbjbaanb