Another J2EE vs .NET Performance Comparison
Starting yesterday, we received a bunch of story submissions about a
performance comparison between J2EE and .Net. It didn't seem all that exciting, and we sort of ignored the story. But as usual, it appears that some people take issue with the methodology and conclusions.
Some of us are not in a position to dictate policy. Love Linux or not, some of us will have to use .Net or look for another job.
Not a good option during these bad economic times.
The beast most of us have sitting on our desk these days is so fast as to make language performance not such an issue. What should be focused on to support the future of computing is a well-typed, well-structured language to allow programmers to think at a higher level of abstraction than previously. That's why I love Mac's standardization of Objective C so much -- it allows high-level control of programs. Performance only matters if it sucks.
But what do I know. I'm just looking for anonymous gay sex.
And read The Register's write up.
.NET version required 14,004 lines of code, while the Java version featured 2,096."
Basically, nothing to see here.
Oh, one interesting fact, "the
None are more hopelessly enslaved than those who falsely believe they are free. Johann Wolfgang von Goethe.
We used all java technology on www.bayoubid.com and had no problems with speed. In fact from our initial tests java was quicker than C#.
I mean, "...excessive exception handling"? WTF?
This only underscores the by now expected knee-jerk reaction these types of pissing contests bring. There's always some expert who can refute every single point of the whitepaper, who in turns gets dissected by someone else ad nauseaum.
In the end it's never been about benchmarks or raw speed. It's about how productive you can be writing these applications, time to "market" and total cost. It doesn't matter if J2EE is 14.3% faster than .NET or viceversa.
On a side note, I wish the 'net were never called the 'Information Superhighway.' That single analogous dubbing has spurred the acceptance of rhetoric in Congress that allows all sorts of regulation.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
The only things TMC actually proved are that they are
NOT J2EE experts
but they
ARE MS shills.
Everybody knows "benchmarks lie" as the old cliche goes. It's just funny that a chest-thumping "enterprise software" consultancy would so blatantly pitch a relatively un-scientific benchmark as a serious study.
jPetStore is worth checking out. These people decided that the J2EE pet store is way too complex, which I'm inclined to agree with. They produced, using Jakarta Struts, a Java pet store web application that is much leaner. It's comparable in size to the .NET pet store but better in several ways - there's no SQL embedded in the code, there's no HTML embedded in the database, no code was automatically generated, and it's MVC-based.
I've always thought that Enterprise Java Beans are overengineering to the extreme. It's nice to have something to back that up with now. There's no question in my mind that this JPetStore beats out both the original J2EE one and the .NET one in maintainability.
They didn't do any benchmarks - performance wasn't what they were going for - but it would be interesting to see some. I'd be inclined to believe this simpler approach would also have much better performance than J2EE.
Regardless of how you argue the testing parameters, it's pretty clear the .NET implementation won out. Even if it didn't, the Price/Performance chart makes this a pretty easy pick for most businesses.
.NET stuff is cool and people should take notice. Even the evil empire can raise the bar. And competition helps us all in the end. Lower those prices SUN and Oracle!!
You can probably get much higher performance out of the J2EE stuff at the very top end, but only by running it on the 'big iron' that most companies can't afford and even fewer actually need.
M$ has a lot of problems, but this
--- Don't be a player hater: I meta-mod ALL negative mods as Unfair.
Slashdot: Controversies for Nerds. Stuff that someone wants to bitch about?
Quote from the article: It contains both errors, halftruths, and lies.
Unfortunately, the article contains both spelling errors, grammatical errors, and errors of style.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
I didn't read the article (naturally), but doesn't the EULA for most Microsoft stuff explicitly forbid benchmarking .Net without prior consent from Microsoft?
:-)
:-)
Can someone explain this so I can read the article later?
I'm just looking for Python/Qt benchmarking.
This space for rent.
Folks, it is not the language that determines service and transaction throughput. There are much more important factors:
.NET is not about Java vs. C#, ok??
.NET wins.
1. Back end database speed
2. Request queueing
3. Object pooling
4. Sheer network bandwidth
5. ACID overhead
blah blah blah
There are probably a few dozen other things that all have a much larger effect than the speed at which bytecode gets compiled and executed.
J2EE vs
In any case,
this is like trying to make a race between a tortoise and a snail, only to realize that your stopwatch doesn't go over 15 minutes.
Je t'aime Stéphanie
I've heard some word (admittedly not many datapoints) that some companies are still embracing Java/J2EE, but are going for "JSPs" (hopefully a euphamism for good use of regular java objects, maybe some wrapped JDBC) instead of the fullbore EJB. In my experience, this is a very smart thing. I've had successes with using a lot of the same patterns recommended for EJB with the lighter-weight stuff, and have heard of at least 3 really collosal EJB failures.
EJB makes it easier to have physically seperate tiers, and adds enough systems-needed overhead that you'll probably need 'em...
SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
...are interesting when well researched, but basically useless to anyone who would actually have to choose between these two development environments. If you work for a company that designs applications of this kind there will be a host of more important things to consider than raw transactions per machine. The simple fact of e-commerce is that if a user is actually going to buy something at your site, you can waste tremendous processing power making them happy. If you make 2 dollars profit on a transaction and had to use 20% of the CPU on a 2Ghz processor for 40 1 second bursts (like you will if they shop using RH interchange), it's still worth it. What this benchmark argues well is that the MiddleWare product is probably worth buying if you have processor constraint problems. No amount of increased performance would warrant changing a staff of experienced Java programmers into a staff of inexperienced .net programmmers. Extra processors are just too cheap....
So is it that The Middleware Company will just claim that the winner is the one that paid them? Or is it that .NET really is the performance winner whereas J2EE wins most of the other awards?
And why is it surprising that the performance winner is the one whose entire platform, from the operating system to the SQL server to the framework, is made by a single vendor? Of course it will perform better - they're all in the same building (or complex in this case).
Schnapple
OK, first off, I don't care how many lines of comments or exception-handling routines you take out, the Microsoft solution was still 7 times smaller. If a sub at two different stores costs the same $5.00, I would definitely buy the 7-inch one over the 1-inch version for the same price; essentially, it's better no matter how you cut it (no pun intended).
.NET are irrelevant at this stage in the game, and a PHP vs. ASP review would be more relevant.
Furthermore, if Yahoo moves from C++ to PHP for the majority of their Web applications, I think that's saying something. Perhaps J2EE and
Department of Physics and Atmospheric Science, Dalhousie University, Halifax, N.S., Canada, B3H 3J5
You got those numbers backwards.
J2EE: 14,004
It's not surprising that the more recently language takes fewer lines of code, given that it has had the time to look at Java and some of its structural shortcomings in terms of verbosity.
pooptruck
It didn't seem all that exciting, and we sort of ignored the story.
Maybe we could get a bunch of people to whip up a controversy about a benchmark whitepaper comparing performance of rcp and ftp.
"Provided by the management for your protection."
I read the numbers and am not impressed. Though I do appluad the effort, next time Middleware should take care to use the right tools for the job. I dont care what the bluieprints say, if you use EJB for this type of apllication, you are a fool, and deserve the performance hit you get.
.NET, however, Microsoft has yet to demonstrate to me why I should go out of my way to use it.
In addition, why don't they tell us the app servers they used? Why do they use 1.3.x instead of 1.4, which is over 50% faster?
On top these questions, and several more, remember, java is portable.
If you are in an MS environment, it makes sense to use
Unfortunately, the article contains both spelling errors, grammatical errors, and errors of style.
Great! The the author is sufficiently qualified to become a slashdot editor.
Aaeennnnnggghhhh, sorry, wrong answer, thanks for playing.
.NET.
...
The report states the exact opposite, 14,004 for J2EE, 2,096
The linked rebuttal raises some valid questions about the accuracy and importance of that stat, so take it for what it's worth
J2EE will always lag in performance to .Net technologies due to its interpreted nature. When will you people finally understand this?
?-|||-----x<*))))><
Why is it that Java on IBM/Sun always seem to require hefty amounts of hardware to get any performance to speak of?
Is it just me or does someone else see a pattern here?
Anyone find it particularly hilarious that the Register couldn't even report the results correctly? Fine that they get anti-MS people to put in quotes, but the facts of the case (namely 14k lines of code for java v. 2k lines of code for .NET) were reported in reverse? Ugh... how these guys have a website is beyond me.
OSS loses again, you people complain.
CNN is reporting on a widely-publicized 1/4-mile drag-race between a broken lawnmower and an earthworm.
11*43+456^2
Starting yesterday, we received a bunch of story submissions about a performance comparison between J2EE and .Net. It didn't seem all that exciting, and we sort of ignored the story. But as usual, it appears that some people take issue with the methodology and conclusions.
So let me get this straight. A report comes out (that looked pretty fair to my eyes) where .Net kicks the crap out of Java, but that's not interesting. But as soon as someone puts out a (pretty silly IMO) refutation of said report it's suddenly interesting?
Yeah, yeah, I know -- it's Michael and it's Slashdot. But sheesh, come on.
Anyway, is anyone really surprised that .Net is going to be much faster than Java? It would be hard to make it slower, and if I were in charge of the .Net project, that would be one of the first issues I would address if I was making a competitor to Java.
Sometimes it's best to just let stupid people be stupid.
"It is bad for MS (really), because they are linking to this report, helped create it, and will be using it as a marketing tool against J2EE. They are used to being called FUD-makers, but perhaps not in this way." .NET petstore," not "Some guys version of petstore vs. Net petstore." Take the test for what it is. Both statistically and anecdotaly .NET performance is better than J2EE -- I haven't seen a case study yet that can refute this.
Give me a break. This guy's position is that because the J2EE code wasn't written the way he would have written it, then the results which overwhemingly favor Microsoft actually hurt Microsoft? Bwaahahaha. Time to stop making excuses for underperforming application servers. Besides the test was called "J2EE Petstore vs.
GetTheJob.com : Nothing but Real Jobs.
It's their business ethic I can't stand. .NET is the most exciting thing in distributed component programming since Objective-C and NeXT. Unlike, Microsoft has enough influnce to acutally make a new programming language part of the vernacular that programmers use.
.NET, and have been utterly amazed at the API. While C++ has about 50/50 curve (50% of the things are really easy to do, the other 50% suck) and Java raises that to about 70/30, C# and more importantly the .NET framework allow programmers to naturally write good n-tier applications. (In fact, my biggest critique on .NET is that it tends to force people to n-tier when that is not completly appropriate).
.NET is component oriented. Refliction, delegates, events, emission, cross domain calls and third party language itneroperability are all first class in .NET...
I have deployed two different production systems off of
J2EE is a horrific mess in many ways. The abstractions don't map well to real world concerns (for example, a bean represents a row, not a business object, unless your business object is a row, in which case you are probably over exposed to changes in the database), and the API's for SOAP et all are poor (unless you use Glue which rocks beyond anything else I have seen in Java).
Java's basic trade offs are part of the problem. Remember that Java was created for the purpose of running on embeded systems. This makes very simple tradeoffs (for example, optimizing for size in the bytecode instead of performance) that are not real good for large applications.
Finally, Java is object oriented.
Now, if Microsoft's business guys would just follow suit.
The important question to me is does each application platform scale with commodity hardware? If so, then the more important question is which takes less time to develop and what is the availability and price of programmers for each platform? Hardware is cheap. Development time is expensive.
Benchmarks, while to completely useless, are almost completely useless.
I don't recall anyone EVER claiming that Java's execution speed kicks ass... I don't think execution speed was ever a big selling point for Java.
The original J2EE version of the Petstore application was meant as an EDUCATIONAL example for those new to J2EE. As such, it was not built with performance in mind, but rather was built with the mentality "How can we use every aspect of J2EE to implement this incredibly simple problem." No one in their right mind would use J2EE or EJBs to implement the Petstore app. It would be overkill in the extreme. And even if the J2EE version of the Petstore app was modified for performance, it's unlikely you'll be able to beat something that was built from the ground up with performance issues in mind. I'm sure this was the case with the .NET version.
If you want a good comparison of a .NET and Java version of the Petstore app, check out JPetstore which was built from the ground up with simplicity and performance as high priorities. Hopefully in the upcoming weeks we'll see some good benchmarks using this version instead of the J2EE version.
Blah Blah Blah
I've been building web applications since 1997. In nearly every app I write most of the time is spent gathering and sorting the data, not in presenting the page.
If one of my pages takes 7 seconds to come up, I can almost guarentee that the query is 6.x seconds. For that reason, I agree, language speed isn't that critical to me. What matters is: How easy is it to write/maintain? Will the language be supported? Can we hire guys that know it? Is it hard to learn?
That which does not kill me only makes me whinier
One point about the refuting article is that it talks about the merging of data and business logic layers stretches the idea of object oriented. Although the code be less reusable, merging the two layers is in fact a very intuitive way to piece an application together and doesn't overload a project with excessive classes. As well the GUI will tend to dictate what functions can be performed. If the code is just gonna be used in that one page I don't think code should be anywhere than in that page.
The key reason teh Java version had so many LOC is that BMP EJBs were used. There are few good reasons to use BMP EJBs. They require a lot more code to be written, they're less portable between databases, harder to maintain, and they have an enormous overhead (see the N+1 database connection problem).
If they had used CMP EJBs, they would have dramatically decreased the LOC and taken care of all the maintainability, portability, and performance issues described above.
Therefore, it is much better to compare how both technologies help individual programmers as well as their teams to work faster and to produce a code with less errors (debugging time and QA resources). That would be a function of how API is structured, how concerns could be separated, how customizable code can be and will programmers tend to hardcode "business logic" riles.
Does anyone know such comparison of J2EE and .NET?
Less is more !
Besides that, look at the line comparison in code - the .NET version was 11,000 lines and the Java version was about 2600 lines. Clearly what happened here is that the Microsofties decided to be smart about it and write all their functions inline - not pretty but fast. Whereas the Java coders invoked class after class after class - which looks better but all the instantiations and memory allocations of classes are a big performance hit.
Why not just take an Intel chip architect and tell them to come up with something in byte code, I'll bet it'll knock the crap out of everything else!
The point is, if you created the technology, of course you're going to be able to make it faster because of your intimate knowledge. Unfortunately, I didn't create
Crowded elevator smell different to midget. -Chinese Proverb
BS stands for bullshit.
.Net. a design clearly aimed at performance and competition, MS declared their petstore is much faster than Sun's. It is a absurd and ridiculous marketing trick only MS could think out. (when they hire poople, they do ask them to think out of box by asking some stupid tricky questions, do they?)
.net one.
.Net VS two outdated version of j2ee app servers. .Net. VS linux for j2ee. (linux version of j2ee usually is the slowest one because other venders always tuned to their own hardware first, then windows, last resource is given to linux, recently IBM .Net VS using the slowest and now abandoned BMP Entity Bean for j2ee. (the new CMP Entity Bean not only faster, but also has very good cache machanism.and directly jdbc perhaps even faster if you only
a little history of pet fight.
the petstore was originally a demo application written by sun. it was a tutorial tool to demo how to use some new j2ee technologies, some best
practices and good design patterns, a 101 course for j2ee. Nothing involved to run as a real world applicaiton or optimazed for that.
then came the MS petstore for
Since it is a marketing trick targeted to nono technical managers, j2ee camp reacted by their own performance petstore, Oracle has their own version
running under oracle app server and db. I can not remember exactly the figure of the result, but it is at least 10 times faster than the
MS lost this round, they must have thought very hard for a while, now we have this new report.
The report published by TMC, the company has a web site theServerSide.com which has very high reputation in java community. MS obviously put a big money in the boss's hand and forced the report to be published. Some tricks they used now:
1. a brand new beta version of
2. using Wintel machine for
and Oracle changed their priority i think.)
3. using extensive cache for
care about the speed. )
4. MS invited to tune their application VS IBM, BEA, SUN have zero idea of this project.
5. running db and app server in same machine. (J2ee is designed for distributed computing, that is why a high overhead for EJB technology etc)
6. trying to give a impression that TSS j2ee experts joined this competation, but the fact is none of them involed. so they just fighted with a dummy made by themself.
I thought that this type of benchmark was breaching the EULA from Microsoft. But, after reading the report I found it to be legal. Since the benchmarks put .NET into a good light, then it is ok. If the benchmark put .NET in a bad light, then the benchmark is not allowed.
Fight Spammers!
Well ... that's not *entirely* true, no.
... to name a few.
... Well, if the implementations truly were correct and fair examples, then it's a no-brainer to state that 2,000 lines of code is a helluva lot easier to maintain than 14,000, therefore making it more reliable and, possibly, scalable.
Taken as a sole measure I would agree, LOC counts must be considered strictly in context with a number of factors: proper exception handling, feature implementation, platform constraints and requirements, chosen language
But all else being equal, and given equally "correct" implementations -- that is, two sample given implementations work equally well and according to requirements -- lines of code *can* be a valid statistic. Context is the key.
Fact is, if you've got one "correct" implementation -- and I'll grant that correctness could be subject to debate in this instance -- and it takes 14,000 lines of code and you've got another that takes 2,000
LOC counts have been used in many, many code studies because they do represent a statistical measure of relative difficulty in implementation in certain respects.
Given your user name and other info, I expected a troll.
It sure is a good thing that no one takes you for an idiot because of your unbelieveably stupid user name.
Mods, please mod this racist jerk DOWN. Mr. Judging-by-appearances here doesn't deserve the karma he's getting.
plenty of benchmarks on http://dotnetguru.org/
From the newly updated article,
.NET version featured just 2,096 (and not the other way round, as we originally stated). The benefit of hindsight, or is one of our class libraries missing? ®
But the benchmark throws up the remarkable statistic that the Java version required 14,004 lines of code, while the
Are all of your linux gurus just scared of MS having a better product or what? Here's a news flash:
MICROSOFT ALREADY HAS BETTER PRODUCTS
WindowsXP / Office XP / XP Server is still the killer app that people are buying regardless of the high cost, simply because there's no other product on the market right now with that feature set and ease of use. Now, most of their server stuff is expensive and slow for many web hosting applications, but don't discount their products just because of the Corporate namesake in front of them.
You would have been jumping up and down with excitement, had the results been the other way around. Let's try to have at least an illusion of objectivity, OK?
When men used to be men
I think he did that on purpose.
Wait, let me read it again.
Yes, indeed, he did thise on purpose.
Since in MS's eyes, the ASP world should move to ASP.NET, how do you divorce ASP from .NET? You really can't.
As to the rest of the article, it seems as if only the hopelessly naive or people with an axe to grind will pay much attention to reports like this.
You were mistaken. Which is odd, since memory shouldn't be a problem for you
And unless he can post an article where he can interject his opinion (everything he likes is cool, everything he doesn't like SUCKS), it won't get in.
TROLL
Actually the results say the exact opposite. Here are the exact numbers from page 40 of the benchmarks:
User Interface: 1,002 5,567
Middle Tier: 795 6,187
Data Tier: 197 197
Configuration: 102 2,053
Total: 2,096 14,004
I agree with you thats its a waste of time. The pdf basically says that
BTW, ive put up a mirror in case thier server crashes:
http://home.earthlink.net/~rgbrenner/j2eedotnetbe
But the benchmark throws up the remarkable statistic that the Java version required 14,004 lines of code, while the .NET version featured just 2,096 (and not the other way round, as we originally stated).
It's not about loving Linux. It's about loving Freedom (TM). And that means not having a centralized conduit for information exchange. It means my computer being mine.
.NET or Visual C# .NET is a violation of your Freedom (TM).
.NET. Tell me about how one is inherently more Free than the other, without resorting to FUD.
Without resorting to FUD, tell me how writing an application using Visual Basic
Besides, the comparison was between J2EE and
Soooo..... When .NET beats the pants off J2EE it's not newsworthy, but when someone questions the results it is? Surely if one is worthy of posting on /. they both should be...
If you are going to say something like this, at least get it right, it's
JA
Did you intentionally reverse the figures? The
Why not go to the source and draw your own conclusion. I looked at the report and it seemed more than fair. This was a straight up "best practices vs. best practices" competition, using Sun's recommended coding standards.
It is helpful to note that this is the second such test that The Middleware Company performed. The Java folks squawked because the
In my opinion you can pin the blame squarely on EJB's. They are bloated, the environments are a royal pain to configure, and they are S-L-O-W. Sun recommends that people use them, so it's totally fair that it was used against them in this comparison.
Hate Microsoft if you want (I do), but you can't wear blinders and ignore the competition. J2EE blows. Get over it.
"And I mean real applications, like MS Word or Quicken"
.NET by 15 years, and Java by 10 years, I'll let you figure out why those apps are written in C/C++/VB.
Ha ha ha. I imagine stupidity must be inherited, because you're a dumb son of a bitch.
Since MS Word and Quicken are windows based applications, and since they predate
I know even *you* can figure it out.
Incidentally, all this stuff was run on Windows 2000. Somebody should try it on Linux.
Speed isn't the issue. These are two different beasties with different purposes:
.Net is a johnny-come-lately Java-alike that is designed to be a last minute substitute for the Borg JVM (I kid you not, they actually called it that). It is the platform to run Millenium on so Microsoft can finally achieve world domination. Microsoft Research didn't spend all that time and money on an "operating system for the next millenium" just to scrap it, you know.
;)
J2EE is a language/platform on which to build tools to run your business.
Microsoft's
So what do you want to do? Run your business? Or be a loyal vassal and bow to King Microsoft?
Funny thing about thousand year kingdoms by tin plate dictators: they don't last a day when the one true King of Monsters comes to town.
Shinoda: "The age of Millennium."
Io: "What does that mean?"
Shinoda: "A thousand year kingdom. It wants to create a home for itself. There is one flaw in its plan: Godzilla."
"Godzilla 2000 Millennium" (Japanese version)
There will probably be another J2EE implementation that can "beat" the .NET benchmark. However, I think there is some degree of truth to this particular one. At our .NET User Group Meeting last night, we had someone from Microsoft actually talking about this benchmark. He didn't go into much detail on the J2EE side, but said that the MiddleWare company spent 10 weeks trying to get the J2EE implementation tweaked. So either these consultants are really incompetent on the Java platform, or there really is a significant performance difference.
.NET could *ever* be faster/better/etc. than J2EE. So really, it's a religious thing and I don't think any amount of proof will convince him. And I'm sure there are certainly others out there thinking that way. Of course the other camp also believes .NET is "all that".
It's even more convincing in reading the article posted in the link (the "review" that is). Basically it was bringing up how the lines of code count was not correct because J2EE could have done a better job. Bah, that's a silly argument. LOC can't just be brushed off because it really does have something to do with the cost. More lines of code isn't just for "lazy programmers", it's also a factor when you have to think about MAINTAINING that code.
However, I do buy the argument about not using the "latest and greatest" J2EE. So, I get back to my original point.. I'm just waiting for the next benchmark.
So since the author complains about the PetStore app as being such a bad design, how about coming up with a new one and then comparing those? It seems to me like, no matter what, the author of the article doesn't believe
From their FAQ about the benchmark..
Was Microsoft involved in this, did they fund this, where were the tests done?
Yes, Microsoft was certainly involved, as the paper describes. The Middleware Company approached Microsoft regarding performing such an experiment. Microsoft provided the lab, which was located in Seattle, funded the setup costs, and reimbursed us for expenses, including travel expenses. The Middleware Company invested several man-months in this project for which it received no compensation. The activity took much long than we expected, and at various points, we also hired independent consultants experienced in appservers A and B to tune them or provide recommendations, at our own expense. The parameters of the lab were under the control of TMC. TMC controlled the testing process. TMC stated up front that TMC would write a report about the real results, no matter what they were. These experiments are time-consuming, and require resources. Without permission and some support from Microsoft, we would not have been able to conduct the experiment. We would like to have conducted many more experiments than we did, and hope to in the future. TMC stands behind the results of the tests that were conducted.
Does the fact that Microsoft gave permission for this experiment and provided some support, invalidate the results?
That is for you to decide. TMC stands behind the results of the tests that were conducted. Should there be other such experiments to be arranged in the future, we will not be able to do them without some assistance with the lab, setup, expenses, and we would hope for more support than Microsoft provided us with for this experiment.
[alk]
Anyway, such a comparison is flawed from the start. Bench suites should be developed by independent 3rd parties, or consortiums like SPEC and NOT by vendors.
I actually don't find the results surprising. Microsoft's pet store is heavily optimized for an app server/SQL server; the standard EJB pet store should work with minimal tweaking on any EJB-compliant app server / SQL server pair.
The Raven
The Raven
Correct, but you also must consider the total response time for each request. From a user perspective that is the only benchmark that matters.
When a report is as complete and direct as this benchmark, it is interesting to see what the jackals go after. What body parts are worth flaming/roasting? In this case, ya'll missed two notable points:
.NET versions did not leverage stored procedures on purpose (apparently the first round of benchmarks got criticized for "non-portable" use of the DB!). I'd like to see that performance, because we are talking performance and not portability.
1. Two J2EE platforms by major vendors were tested. One really sucked for air (yeah, tell me performance doesn't matter!). Who were the vendors, all you Java experts reading between the lines? Would you buy that system?
2. I understand that the
Chew on this for awhile...
Could you elaborate on your statement please? What specifically are the problems you encountered with the SOAP API?
There is no such thing as luck. Luck is nothing but an absence of bad luck.
However maybe it's an eternal comparison of Apples and Oranges. There may be enough differences between the two platforms that a comprehensive comparison is just futile.
Each platform should be justified on its own merits; each probably meets a need successfully.
We should be glad that more than one alternative is available because development skills differ and target platforms differ.
Any article that shows Linux kicking MS's ass, they post it even if it was written by some nobody.
An article with actual benchmarking done by someone else that shows MS kicking Java's ass, "Nah, we'll ignore it, it's not newsworthy."
God, talk about hypocrites. They slam MS because all they do is print stuff that is hyping themselves, but they don't even realize that they're just a hypocritical as MS by doing the exact same thing. Fuck you Slashdot.
Michael Simms told him it was a violation of his freedom
Did you happen to read the questions posed/points made in the second article? Microsoft PAID for this benchmarking. Throw in a beta of .NET, a J2EE Petstore implementation coded as an example for using all functions, a .NET Petstore implementation coded for performance (by Microsoft, no less), and yes, I'd say that the first article isn't newsworthy, but the second one is.
Not surprised by the rigged review but are there any that show the opposite?
Microsoft is aleady using the report on their webpage for marketing. Check it our here. I wonder how much they paid The Middleware Company to publish such a flawed report. TMC probably got a lot of money, because they sacrificed their credibility in the Java world.
Signature deleted by lameness filter.
Come on! The whole deal with J2EE is scalability.
.NET and the only interesting benchmarks are how well it scales.
The reason for Microsoft introducing
Give me the data for 5, 10, 20, 50 servers, please.
This is ridiculous, they used 1.3 which is so much slower than 1.4.
I'm not sure how much it would have helped in the performance category but it would have reduced the J2EE implementations cost by $40,000
'due to NDA...' they couldn't reveal what 'J2EE Server A' and 'J2EE Server B' were. But, they gave enough information that someone should be able to figure it out.
Like 'Server A runs much better on Windows than Linux', and 'Server B wasn't compatible with JDK 1.4'.
Can anyone figure out what the app servers are?
At present, I am not ready declare J2EE as fit to really "Whip's the Lava's ass!" nor am I prepared to emphatically state that .Net "0wnz", but I will say that the results of this comparison are, without question, highly suspect.
When a 'disinterested' third party is enlisted by an organization by way of paid favour, that third party no longer remains 'disinterested'. In the case of TMC, if they were paid by Microsoft (which has so far been rumored) to demonstrate the superiority of the .Net architecture, they clearly can not provide an objective comparison between .Net and J2EE.
Similarly, asking the developers of .Net to create optimized code for the demonstration site while TMC developers create code (which sounds to be less than perfect) for the J2EE example, not only smacks of experimental bias, but completely undermines experimental objectivity.
The only real way to create an undisputable comparison is to give both manufacturers an identical piece of server hardware, a set of goals to be achieved by the software (sufficiently broad so as to eliminate one-off performance gains) then test the resulting applications head to head under identical load.
When those criteria are met, only then will we all feel safe declaring a 'winner'.
Just my $0.02CDN (Approximately $0.012755USD)
then came the MS petstore for .Net. a design clearly aimed at performance and competition
Before Microsoft came out with their version, it was the J2EE vendors that were making performance comparisons for Petstore. Oracle was the first company to start this whole benchmark mess. It was only until the benchmarks were thrown back and forth between numerous J2EE vendors (Oracle, IBM, BEA) did Microsoft get involved.
J2EE vendors have no one to blame for these bad PR and marketing snafus, but themselves.
The idea was to not feed the Troll. The methodology of the whole benchmark was at the very least compromised by the active participation of one side and the complete lack of participation from the other.
.NET implementation. The other side was labeled App Server A and B since they couldn't even be bothered to get permission to publish benchmark results let alone have the App Server companies come and do some tuning.)
(MS did all the code writing and tuning for the
Even if the rest of their claims about "pain staking optimization" of the J2EE code is true they would have to optimize it separately for the two App Servers to be comparing apples to apples.
So, the original thought was to ignore it and hope it would go away. Obviously many people weren't ignoring it so it hit the "newsworthy" threshhold.
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
Lines of code has everything to do with ease of programmer replacment, maintenance costs, and flexibility.
This is about being able to replace your programmers easily if one of them is a pompous ass, being able to move the code base around and adapt it quickly if your OS provider is a pompous ass, and being able to keep maintenance costs down because the overal structure is smaller.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
It's about loving Freedom
Yes it is. Microsoft is frustrating to no end. They are like a playground bully that kicks kids down every time they try to get up. They are the class clown that twists and repeats other people's words to nullify any chance at an intelligent argument. Microsoft's behavior invokes an irrational emotion that in a natural setting results in such a bully being slaughtered in revenge.
Microsoft to many software engineers is the conceptual equivalent of industrial-age barons, factory housing, and company stores. They are corrupt, everyone suspects or knows that, but so many people are financially enslaven to Microsoft's business model that a revolt is unthinkable.
I predict that the next decades of the "information age" will mirror the aftermath of the 19th and 20th century industrial monopolies, where only intense victimization of tens of thousands of workers stirs a largely ignorant and sluggish Congress into action.
As long as the masses of people implementing IT "solutions" are so damn ignorant of how thoroughly they are being so stabbed in the back by Microsoft's breadth of lock-in and leeching contracts, we will not see freedom of information, press, academia, nor social equality in the software and internet industries.
Healthcare article at Kuro5hin
It seems like these guys spent a lot of time optimizing for Java, only to see it get the smack down. Of course, there is the issue of how competent they were, but the fact remains that .net is apparently faster for this kind of thing.
Its kind of crappy that they couldn't name app servers due to 'server B's license, especially since Server B sucked so bad...
Lonely?
Find love on the internet
Some people say, that you shouldn't boycott MS
software just because it is from MS. Well, I say,
you should. Thus only can we get rid of them eventually.
So what IS the best way to go? We currently have applications being developed with the J2EE standard but are going to a .NET infrastructure, servers, databases etc...
What would you do/suggest?
Ged68
I've been using J2EE now for a while, and they made some hideous performance mistakes. The #1 mistake they made was BMP. BMP, for those of you who don't know, is an object persistance model where each object manages it's own storage. It's pretty obvious that for N rows of a database that map to N objects, you will need N SQL statements. That's just wrong and bad. Not only is it the slowest way to access the database, but it requires 10x the amount of code to work with. The other two (common) choices are CMP and JDBC in session beans (others are JDO and other ADO-ish Java API's that wrap JDBC). CMP would require 1 SQL statement to retrieve N rows, and requires no SQL be written, works on all RDBMS's, and you only have to write a skeleton object. It's about a magnitude of 3 faster than CMP. Directly connecting from the Session beans(pretty much a CORPBA object) will make you write your own SQL, but will increase performance yet further(since you can use stored procedures or just do mass updates and still maintain database independance).
.Net could never hold up to best price/perf. against free. JBoss may not be a speed deamon(it's not slow at all though), but if you disable debugging(on by default), use IBM JDK 1.3.0 and MySQL with innoDB, it will easily win price/performance.
.Net get a foothold, but they are loosing theirs fast.
The next thing they did is exclude JBoss, one of the most popular J2EE servers. It's open source, and easy to use. One can only conclude the intentionally left it out because
After reading that TMC had taken money from MS, the only conclusion that I could come up with is that it was rigged. No real J2EE expert would ever make those mistakes. Even free E-Books on TSS will tell you not to make mistakes like that.
Basically, this really hurts the Java community to see TMC take stabs at J2EE after all it's put into it. Either that or we are to conclude that TMC is unfit for the J2EE educational services they offer. Either way, they may have helped
Anyone that doesn't know that much about J2EE or doesn't take a look at the code will think this is like the florida recount fiasco, but it really is a legitamit claim that this version of the petstore was really written by A) a monkey, or B) a MS fundee.
Karma Clown
Here we have a, not surprizingly, anonymous coward making grand claims about how great J2EE could be if only. I call you on that claim: I challenge all of the Java experts out there, all of who are rushing through this discussion proclaiming that it's all unfair (surprize surprize), to build a functionally equal Java-based PetStore that beats .NET. Okay, how about one that's only 2x slower? 3x slower?
Let's see some action rather than words. It's so easy making grand claims...
I am looking to accumulate friends. Please click on the circle and add me as a friend. Thanks!
If there is a problem with the Java version, can someone fix it?
.NET version and the code used in the J2EE version and compare them and THEN FIX IT.
Everyone here is all bothered that MS was able to work on their version, but that Sun wasn't asked to do the same for its version.
Sun can take both the code used in the
If they choose not to do so, or are UNABLE to do so, then we know which is better FOR THIS PARTICULAR TYPE OF WEB APP.
Middleware did GREATLY improve the performace of the J2EE app, but there are obviously quite a few flaws in their design (from the comments). So someone who is pissed off about this should stop wasting their time ranting about it and correct the problem, then publish the code and the benchmarks.
I do everything the voices in my head tell me to...
Bytecode == intermediate code fed to a just-in-time compiler == native code on the other end.
.Net as well. Except that the .Net runtime caches the native binary for later use, something Sun's Java VM doesn't.
It has been that way for years. You may force the VM to use interpreted code with -Xint, but why would you?
After all, the bytecode (MSIL) -> native code is EXACTLY what Microsoft does in
...richie - It is a good day to code.
One thing that never seems to be taken into account when it comes to scalability...
I'd rather maintain a cluster of 5 high end Sun boxes than 50+ wintel machines. Maybe most people don't view this as much of a difference but to me it sure feels like a huge savings in cost and frustration even though the initial purchase price is higher.
Performance, pull the picture of Bill Gates out of your pocket and take a look at the note on the back:
"Don't believe his lies".
Perhaps that will help svae us from repeating the same cycle of comments again and again.
P.S. - for the moderators, that was a (mildly) clever/humorous movie reference, not a troll.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It's not about loving Linux. It's about loving Freedom (TM).
.NET is trifling at best, to say the least.
Realistically, though, we're talking about internet application development platforms here, not basic human rights. Being all high and mighty about not uing
Will they have a second test where Java experts will come in and tweak the J2EE just like during the second Mindcraft benchmark where they allowed Linux gurus to come in and tweak the linux machine, yet still get trounced my MS?
[Ballmer and underlings bursts into room]
"Nobody expects the stealth Microsoft ad campaign!
Our main weapon is errors. Errors and half-truths.
Our TWO main weapons are errors, half-truths and lies.
Our three main weapons are errors, half-truths, lies and developers, DEVELOPERS, DEVELOPERS!!!!!!!!!!!!!!!
Oh, let's just start again...
[They exit - loop]
I read the middleware company's conclusions and was sad to see that Java lost. It looked like everything was pretty legit (certainly more so than some past endeavors like this). But then I read the article refuting it. It seems that there's a substantial amount of optimizations that were not done on the J2EE code that could have had a huge impact.
Basically when you get down to it, this is an impossible comparison to make. The architectures are different, the app servers are different, and the people writing the code are different. Trying to yield objective results out of such subjective measurements is impossible.
This sig has been temporarily disconnected or is no longer in service
That's exactly my point; perhaps I should have said negatively correlated. The 500 line solution is better- and the same thing written in certain languages tend to be more compact, and hence those languages are generally more productive. C isn't especially, C++ is often a little worse if anything, Java is more compact, Perl even more so.
Of course compactness isn't everything; APL programs are very compact, but can be totally unreadable. Still, more compact languages are usually better, upto a point.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"if you want something stateful, you have to do it yourself. Anyone with a clue would never use EJB when all they need is a simple cache of Hashmap. The only thing that tells me is the consultants and the company that did the benchmark are either 1. idiots or 2. doing a poor job of hiding their bias. The fastest way to get blazing speed would have been to use a custom cache in resin with a simple hashmap that handles it for the webapp. Doing transaction in the database isn't the same as an application server that manages transaction in memory using Container Managed persistence.
It's just the usual marketing bs, move on, nothing to see here.
Yeah, like how much longer your company can sustain itself writing software to sell pets over the web.
Seen any BadMarketing lately?
It was the Java version that required 14,004 lines of code (and config files, deployment descriptors, etc.). The .NET version was the 2,096 line one.
Look in the original report, Figure 30.
Well, if you read the rebuttal supplied by one user then you'll see that they didn't live up to those items.
.NET side.
1. There were behavioral differences with App and Display code combined on the
2. Best practices in J2EE are now aimed at the CMP EJB's in the updated EJB spec. Those weren't used.
3. Why not a physical three-tier implmentation?
5. They used a Beta version of MS code versus unknown versions of shipping J2EE servers.
6. The code was reviewed and some major points were raised with the rebuttal.
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
Yes, but experienced programmers tend to spend less time thinking and more time typing; and the thinking you do is often the same or similar for the different languages.
Also, there are some subtle issues that increased program length gives- the chances of a typo increase with program length- compact code is often easier code, for example in TCL it can take one line to create a button on the screen, whereas in Java it takes about 4- and the Java code is more obscure, and you probably have to check the API to get it right. In C you may have to discard storage after use; in Java you don't need that code- less to break, less to think about. And so on.
There's lots of little things- and it's not inevitable, it's just a correlation; that is mentioned in the literature.
Making cross language comparisons is quite difficult; you'd have to take lots of software engineers, normalise for experience and give them the same task to write in different languages, and measure how long they took and how many lines popped out.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"The whole review is total CRAP!!! Check out this review of the comparison. It sums up the whole situation pretty well.
There was no optimisation - it was a stacked deck against J2EE
The weathers here - Wish you were beautiful
The Register got the numbers reversed. It was 2K lines of code for .NET and 10K lines of code for J2EE. They've revised their story to reflect this.
It...was...a...joke
Those are the ones I want to see. J2EE vs .Net on Unix.
I do wonder if some people have ever worked in the real world. When developing an application, performance is only one factor. In fact, usually it's quite far down the list of wants when choosing a platform.
If the performance isn't great, then you can (within reason) add more hardware. Given the cost of hardware, it's not too expensive to do that.
However, if the application is difficult to maintain, or the skills aren't there to do so (or only available at a large premium), then significant effort (and therefore money) will have to be spent over the lifetime of the system. On any reasonably sized system, these costs will easily surpass the hardware/software costs.
It all goes back to that lovely 90's acronym - TCO. I'm not arguing for either side, just stating that performance isn't really a major consideration in the areas that EJB and similar systems are deployed.
The Middleware Company obviously got paid by Microsoft to achieve results in favor of .NET, and they included obvious performance errors into the J2EE implementation to get these results. This leads to the conclusion that you have to make really stupid mistakes in order to make J2EE slower than .NET, which explains why the .NET EULA explicitly forbids the publishing of benchmark results.
Signature deleted by lameness filter.
What the hell are you talking about?
.......
The post you are extending makes no sense. Are you trying to say somthing about not being free to use non-MS products? Get a Grip. There is no one behind me with a gun saying use MS Office, XP,... Or Linux, or Solaris, or
"It means my computer being mine"
Again - what the hell? The only thing you dont own (but should) is your Taxed property. Be pissed about that, not about fictional shit your making up. And that is your govenment, not any Software Company.
Here's the basic story.
Once upon a time, Sun wrote a sample application, called PetStore, as a demonstration of various capabilities of the J2EE platform, and various techniques that might be helpful when writing J2EE applications. As such, it was deliberately over-engineered. A tiny shopping site doesn't need all the techniques they threw at it, it was just a context in which to deliver examples of coding pratices that might be useful in other situations. It was example code.
Speed wasn't a goal. Keeping the LOC low was counter-productive to an application which is basically an example of different coding techniques.
Microsoft saw this, and realised they had a cheap marketing opportunity. By rewriting the Pet Store in .NET, with completely different goals (speed and low LOC), they could score points just by issuing press releases. It's the marketing equivalent of saying "Hey! Our car is smaller and faster than your truck!" It's true, but meaningless.
No matter that it was an apples to oranges comparison. No matter that the Pet Store could be rewritten in Java using Open Source frameworks with about the same number of LOC by one guy in his spare time. This is marketing, not reality.
Charles Miller
The more I learn about the Internet, the more amazed I am that it works at all.
#1) They used Sun's JRE as opposed to IBM's JRE which is much faster.
#2) They claim there's no way on linux to monitor performance without affecting performance. If they had a clue they would know about sar. This casts them in doubt re: using linux effectively as a whole. They miss a very basic thing, you cannot trust these monkeys, they don't have a clue.
2 years and no mod points. Join reddit. Because openness is good.
Yes - that's it! Your right! WOW!
Hundreds of thousands of engineers are all ignorant.
Thousands of CIO's & CTO's, tens of thousands of managers and architects - all stupid.
All these different corporations - all morons for choosing the MS OS(s), MS products, MS development tools, MS solutions.
Or.. A thought just occurred to me.. (First one ever sense im a mindless drone). Maybe it's not the hundreds of thousands that are wrong but maybe the close minded few that like to spout your kind of crap.
If you design your app to show off all your core technologies in a simple application, best practises can certainly help, but they won't save you from the technology excess.
A platypus by any other name would still be butt ugly.
What I'd really like to know is why TMC didn't test J2EE on the same Windows OS they tested .NET on. Were they getting paid to bash two opponents at once (Linux, J2EE)? If they really wanted to test J2EE, why not JUST test J2EE?
Luke, help me take this mask off
Or whatever properly calls the kind of FUD factory that TSS has turned out to be.
It's not so much "astroturf", which looks like nice grassgoots from a distance but turns out to be bogus when you get a close look.
It's more like fake plastic dog shit...looks unpleasant from a distance, but turns out to be phony.
When I first encountered the site, I dropped them a note asking why all their streaming video was Windows Media when there were perfectly good Java streaming video applications.It seemed awfully curious at the time for folks claiming to be part of the Java community, ,and their response was extremely...well...
So...apparently the debunker of the "benchmark" used to be Chief Archetect at TSS. I have the feeling there's an interesting story behind all this...Rikard's blog should be interesting over then next few days.-=Maggie Leber=-
I'll go ahead and guess that rather than TMC maliciously rigging the test, the two "experienced" J2EE developers were either incompetent hacks or unprofessional engineers with little pride in their work so it just didn't matter to them. Occam's razor: simplest explanation is most probable...
It is all the more so stupid of them considering that TheServerSide.com (that also belongs to TMC) would have probably given all the advice they needed if they had asked for it in the first place.
"The deluded are always filled with absolutes. The rest of us have to live with ambiguity." - Aristoi, Walter Jon Willia
using the design that Microsoft proposes as best for their product (apparently they forgot to consult you, though) versus the design that Sun proposes for their product.
.NET is faster, so be it. But let's have a fair race. That's all I'm trying to point out. That's all Rickard Öberg is trying to point out in his review.
That's the problem though. These "benchmarks" are comparing different applictions designed to do different things. Sun does an app for an example of how to use J2EE technology. It wasn't designed for performance, in fact, in many cases the petstore approach is complete overkill. Sun knows that, most Java programmers know that. The petstore app has been heavily criticized for it. However, Sun's point was to show new Java programmers how the different J2EE API's work together. If some poor sap thinks that every app needs designed this way, well, they'll learn quickly otherwise I hope.
Microsoft then takes an app designed for performance and compares it to one that isn't. It's apples and oranges here folks. That's the point. The arguement made here is that when the Middleware company redid the benchmarks and the Java petstore app, that they still didn't do it properly.
If it turns out that
Who said Freedom was Fair?
They chose a Windows 2000 platform "because it performed considerably than Linux 7.2". WHAT IS LINUX 7.2 AND HOW ARE WE EXPECTED TO TAKE THIS SERIOUSLY!?!
While comparison with custom coded
So websphere is indeed crap performance wise..
<^>_<(ô ô)>_<^>
>> corollary: "Trustworthy Computing" is sheer bunk until it appears in the digital flesh.
>> corollary: Microsoft is more interested in PR spin than actual truth. (or is that a lemma?)
2. Never trust anything anybody else says about Microsoft until it has been demonstrated that there is no financial or political relationship between the speaking party and Microsoft.
>> How many "grassroots campaigns" and "testimonials" and "benchmark reports" and "white papers" by supposedly disinterested third parties has Microsoft been exposed to have influenced unfairly? Did you run out of digits to count on? Borrow a few friends, I'll wait. My, your little office is getting crowded!
3. Follow the money. If it doesn't bring in more revenue, Microsoft doesn't care. Nits in the OS (GOD I hate the shutdown being the first item on the start menu, e.g.)? Big deal, they don't have to change it and you can't do anything about it BECAUSE YOU CLICKED YES ON THE EULA.
I'm not bitter, I'm just squashed helplessly into the ground by an indifferent greedy corporation.
Sigh.
Insert witty saying or aphorism here.
If apple would only release cocoa on other platforms it would be ultimate. Write software in java using cocoa, all the benefits of Java without most of the drawbacks.
Java is not perfect, granted. EJB's are not always best, granted. But to say that just because EJB's aren't always a good solution therefore "J2EE blows", isn't that a bit of a leap? There are alternatives to EJB's you know. It's possible to write a full J2EE app without ever touching them.
Who said Freedom was Fair?
Funny. I've always thought that people that do stuff like spell MS "M$" are the real FUDers. At least no better than common trolls. Shape up, because noone takes that kind of FUD seriously - it is too childish.
Are you saying that performance shouldn't be taken into consideration when deciding what "proper coding practices" are?
.NET example. I think the argument being made here is that Sun did a 'trivial' example to show how things work. Microsoft just wrote the (to use my previous example) 'html' version of 'hello world'. Is Microsoft's approach wrong? No, that's probably how you should write such an application. The problem comes when you try to compare and benchmark the two. So Middleware tries to rewrite the Java version to optimize it and it's still bad. Conclusion? Well, the whole point of this discussion is that Rickard Öberg claims that Middleware didn't do a proper job of rewriting it.
.NET would still win. Fine. That's great. But until then, spreading inconclusive results is only spreading more FUD.
Yes. Now let me explain:
You're right that performance is important, and teaching performance techniques is important; however, there are times when that's not what you want to teach.
Example 1: Let's say we're going to teach a "hello world" application that displays "Hello World" in a web browser. Let's say I decide to do it with PHP or JSP or ASP and get the string from a database. Is that really the best way to print "Hello World?" No. Absolutely not. You'd just write the HTML and be done with it. In this case, you're trying to show how a technology works, not the best way to solve the "print 'hello world'" problem.
Example 2: For my work I recently did a simple Jakarta Struts example. It basically just queried a table from one of several databases and printed it out in HTML. It was overly complicated for just this task (did validation, internationalization, muliple views...). Now if I really wanted to put this application in a production environment, is this how I would code it? Probably not. It's overkill for this particular example. But what I was teaching was the techniques of database transactions, validatation, etc. We have other applications in development that do need these features. So what I was teaching was not "How to overly complicate your application." but "A trivial example using complicated techniques you will one day need to use." The problem with this comes when developers cannot understand when such features are needed and when they're overkill.
Back to our Java vs
I do agree with some other posters that it would be nice to see someone take the java petstore example and really do it right. Perhaps
Who said Freedom was Fair?
A great tool for developing Java applications, applets, JSPs. One down side is it is not free, but it is also not expensive(I think ~300 US)
DreamBeans has analyzed the results and published their findings. They found a variety of biased reporting and outright lies in the original report. Their analysis is available at:
.NET version. Finally, they note that the .NET app is far from a model of application design (as MS claims).
http://dreambean.com/petstore.html
In particular, the J2EE application has not been optimized and some obvious optimizations (e.g., not using deprecated, inefficient API calls!) have been ignored. The J2EE application has been designed to do much more work storing data than the streamlined
Read their report for the juicy details (not very long).
I have an inside source that informed me that there was a brownout during the J2EE benchmark and that's why it turned out slower...merely an electrical problem (Of course this wasn't in the report).
.NET. Just because .NET came out 6-7 years later doesn't mean it's better. In fact, it means it's worse. Why do we need a benchmark to prove it? Let's just trust our intuition for once. I, for one, will never even look at a line of M$ code. With all these people asking "WWJD?", all I hear from the M$ camp is "WWBD?".
I, too, am insulted that I wasn't personally consulted prior to this being published. What kind of company would publish a benchmark without contacting me first?...Perhaps a M$ company? I was on a Hailstorm protected site just last night and guess who owns TSS? That's right, one Bill Gates. I also unearthed several pseudonyms that Bill used to buy 51% of the shares in Sun solely to give the appearance of competition. And I thought holy water was only necessary when the MSDN conferences came to town. I am NOT paranoid, it's just that Bill is out to get me.
As for the Lines of Code. Anyone wide-eyed youngster in kneepants knows that if you take the utility methods and put them inside a helper class you'll get a 700% reduction in the total LOC. Who really cares about developer time anyway? It's not like it's the most important part of the cost equation. With hardware so cheap why not just throw hardware at the problem? That's why I built an extra server room...just so I can stack Solaris boxes to the sky.
Here I was thinking it was the use of stored procedures that skewed the initial Pet Store results. Now we all know it's the use of BMP instead of CMP.
If it turns out that TSS is not owned by Bill, then we all know this is just a ploy by TSS to get the M$ developers' attention. They're already working on a revision where J2EE comes out on top, but they're waiting for funding to pay for the app servers and a mathematician to come along and count the LOC. Also, this time they're actually waiting until I approve of it before they publish.
And to those of you crying about us J2EEers not publishing our own benchmarks, why must we publish a benchmark of our own when we can just punch holes in the benchmarks of others?
Perhaps most importantly, the report fails to mention at what altitude these results were taken? Anybody want to wager they were measured at over 5000 ft?
We all know J2EE is faster and better than
1...2...Billy's coming for you...3...4...better lock the door...5...6...grab the crucifix..
Signature deleted by lameness filter.
In several MS EULAs I've seen a clause saying that you're not allowed to release benchmarks of .NET without their express permission.
I would imagine the ones for the .NET SDK have this clause too...
So Microsoft must have specifically given this the go-ahead, or you wouldn't be able to read it.
...why don't all you open source zealots that think TMC rigged the J2EE PetStore (or fucked it up, or whatever) write a version that you think can compare favorably to .NET, running on the fastest, newest servers (db and web)? all the code is available - you have the strength of open peer reviews. instead of crying foul, provide something to substantiate your claims.
So since Sun created the first version, they should have been able to create a kick-ass version ESPECIALLY if they promote it as "Best Practices" ....but but but their version was even slower then TMC's version....
.. as flamebait. Me with mod points, and unable to mod the story. I guess it could be worse ...
...
"Congress Passes RIAA-sponsored bill Mandating Adoption of Microsoft DRM and Outlaws RedHat and RMS for DMCA Violations"
did I miss anything?
-Kevin
I actually read the report, and am familiar with the Loadrunner tool they used.
.Net to show the difference.
.NET.
.NET is also designed for distributed computing.
1. They tested both version 1.0 and 1.1 of
2. They actually used Windows 2000 machines for J2EE, it's mentioned on Page 15. They stated they benchmarked both linux and Win2k, and then picked the best result. For App server A, Win2k performned better. For App server B, they were both the same(i.e. equally bad from the looks of the results).
3. I encourage you to rewrite the app using this new technology and run some benchmarks to prove your hypothesis.
4. The people running the benchmark were familiar with the J2EE world and did involve other experts to aid in tuning both J2EE and
5. According to the test lab configuration on Page 12, there were two Proliant 8500s for the database servers and another 8500 for the web/app server. I'm going to assume you meant web and app on the same server, or you just don't know how to design n-tier apps. BTW,
6. Except for the Middleware group's experts. Check their website, they are a well regarded Java training/consulting company.
I remember the same type of outrage when the Mindcraft benchmark showed IIS faster than Apache. Everybody claimed they were biased, they did it wrong, whatever.
The truth was... They were right, and some intelligent people in the Linux community looked at the bottlenecks and tried to fix them.
The website seems to have removed the file...any mirrors?
Thanks
Starting yesterday, we received a bunch of story submissions about a performance comparison between J2EE and .Net. It didn't seem all that exciting, and we sort of ignored the story.
/. editors:
Ladies and gentlemen, in the blue corner we have a benchmark of two competing technologies for developing n-tier web-based applications, and in the red corner, we have idle speculation about the future of a SciFi TV series.
I wonder which one fits the category of "stuff that matters" and which should have been ignored.
Here's a clue for
When you get "a bunch" of story submissions on the same subject it probably means that people find it interesting, exciting or important.
You can't compare ASP/PHP with J2EE/.NET. Both have applications in totally different arenas. ASP/PHP is used where you don't have complex business logic. It does not make sense to use them for, say, a financial instrument trading site having very complex business logic. That's where you required middleware apps like J2EE and .Net.
It was based on a >2yr old version of the PetStore (V1.1.2), whereas the later version (V1.3.1) has a number of significant improvments.
These have been added as the "Best Practices" have changed over the years.
Its interesting Microsoft chose to compare the two enterprise application development platform performance comparing Linux vs Windows
You didn't think I noticed when 26 other people pointed that out?
None are more hopelessly enslaved than those who falsely believe they are free. Johann Wolfgang von Goethe.
Well, it certainly seems like there are big questions as to the fairness of the tests, on many levels.
.net's win right, it sounds like j2ee might actually *win* such a competition...so I guess this sort of test is in violation of MS's EULA.
So how about a *real* price/performance testing?
Tell both companies to write the app however they feel, tell them what it needs to do, and have them deliver a solution that would cost a customer a *total* of $10,000, $50,000, and $100,000. Including hardware, os, 3rd party software, etc.
This eliminates Sun's posturing about old versions, the pet-store program not being designed for performance, the platform not being the right one, and the app-server.....etc.
On the other hand, if I'm reading the margin for
curses, foiled again.
Given a choice between free speech and free beer, most people will take the beer.