PermaLink Why does ASP.Net feel faster than J2EE?03/25/2005 08:51 PM

I haven't dug into ASP.Net that much yet because I always though MS doesn't get things right until a 2.0 version of anything (even their MSDN articles keep mentioning lots of core issues w/ .Net 1.1 that will be fixed in the Longhorn 2.0 version), but working on a few small features for Ektron's CMS400 ASP.Net content management system, I'm still amazed that IIS/ASP.Net just feels faster than most J2EE servers.
MS still uses a virtual machine (CLR) at the core.  Why is it that ASP.Net just feels so much faster and light weight (less of a memory hog) than J2EE servers?  I don't exactly have a lightweight machine (it's a dual Athlon 2GHz w/ 1GB of memory), but it's brought to its knees by Websphere.  It does a lot better w/ JBoss/PostgreSQL, but it still feels slower than firing up IIS and MSSQL.

ASP.Net has a really cool implementation of HttpHandlers/HttpModules which are very similar to Java servlet filters.  ASP.Net even reloads new versions of these as soon as you copy them in, so there's no need to bounce IIS just because you modified a .dll in your web application.  You can implement login modules in an HttpModule among other things and they even get reinitialized if you modify Web.config.  In most implementations of J2EE JAAS login modules, you can't even get access to the HttpRequest/Response so you can handle login cookies to implement autologin cookies and you have to bounce the server to install a login module

On the way cool front, have a look at Ditchnet's JSP Tabs Taglib.  I found it referenced on Matt Raible's blog.  Ever wanted a clean fast tabbed UI on your web pages?  Have a look at these.  Web components are really something the J2EE world will have to focus better on to compete w/ ASP.Net's built-in components.  I wish companies would ditch Struts and use Tapestry, but they'll likely use Shale because it has called itself Struts 2.0 and PHBs only understand keywords
Comments :v

1. Robert07/09/2005 03:03:49


By my own experience, the asp.net websites seems rather unstable. Sometimes it is rather fast, sometimes not. But jsp works rather Okay even under heavy loads.




2. Zvika Markfeld05/24/2005 22:19:57


well, that may be true, but isn't J2EE supposed to offer a little more than faster page compilation or even execution when compared to native dlls? sheesh, what about the medium-large applications? clustering? extensions? the ability to ditch your vendor - and I have done several migrations jboss->weblogic->oc4j(sigh) - even it's not a total breeze, it's still managable. MS's neet world is perfect until one day you find out something ain't, and then it's dark source from now to eternity or the next major release(longhorn? duh?)




3. Ken Yee03/27/2005 21:57:29


When you hit a web page for the first time in .Net vs. J2EE, the .Net version seems to come back faster. General development seems faster since I haven't found a case where IIS needs to be restarted yet (whereas in JBoss, you need to restart it if you switch login modules for a web app and I haven't even finished writing up my blog on custom login modules in Websphere being a PITA yet).

As for 300 concurrent users, do I even have enough memory on my system to do this in Websphere while running DB2 on my machine?




4. Bob Balaban03/27/2005 14:57:31
Homepage: http://www.looseleaf.net


Try doing a comparison of 300 concurrent users with WebSphere and .net, then see what you think.....




5. Sebastiano Pilla03/26/2005 09:46:06
Homepage: http://www.datafaber.com/blog/index.jsp


Do you mean that it seems web pages are delivered faster? If so, it may be the result of a different output buffering strategy. I'd try to play with the buffer parameters of a Java web container to see how it changes.




Start Pages
RSS News Feed RSS Comments Feed CoComment Integrated
The BlogRoll
Calendar
March 2024
Su
Mo
Tu
We
Th
Fr
Sa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Search
Contact Me
About Ken
Full-stack developer (consultant) working with .Net, Java, Android, Javascript (jQuery, Meteor.js, AngularJS), Lotus Domino