.Net Analysis

Judging the value of one development platform over another is a heated debate that has been raging for years.  The most common deciding factor typically centers on the developer's familiarity, an extremely subjective measurement.  If an expert developer from each platform was asked which is the easiest to use, each would site his or her own.  In the end, however, there are really only two quantifiable factors that should be used when deciding on a platform: cost and performance.


Since most hosting plans for each platform are similar in cost, website performance and lines of code (a hidden cost) are the only quantifiable measurements than can be used to gauge the value of one development language over another.  The following information provides a breakdown of some of the key differences between .Net, Java, Cold Fusion MX and PHP. 


In terms of website performance, which refers to how fast a page can be displayed to a user, .Net has proven to be far superior to Cold Fusion MX, PHP and Java in real-world applications and in tests conducted by independent analysis firms.  With respect to lines of code, a similar application can be written in .Net with 15% of the code required for the same application written in Java.  This results in a more maintainable system that can be developed more quickly with fewer resources.  A "lines of code" comparison between .Net and Cold Fusion MX or PHP is difficult since the development methodologies are so drastically different.  In order to achieve the same type of coding methodology, a developer would need to implement Java, which would lump the "lines of code" results in with the Java analysis already mentioned.  In general, Java is not used due to cost and time considerations, so the website pages load more slowly and the code is more difficult to maintain.


In general, .Net brings the power of an enterprise application into the cost range of a small and medium sized business by reducing the lines of code required.  This reduction in code results in decreased development time, expensive development staff, maintenance and overall cost, while delivering superior website performance.

 

Feature

.Net

Java

Cold Fusion MX

PHP

Compiled Code – Increases website speed (precompiled is the fastest)

Yes – both precompiled and dynamically compiled when a page is requested

Yes – both precompiled and dynamically compiled when a page is requested

Yes – dynamically compiled when a page is requested

No – a 3rd party accelerator can be used to increase performance but it is not installed on most shared hosting servers.

Scripted Language – results in poor website performance

No

No

Somewhat

Yes – a 3rd party accelerator can be used to increase performance but it is not installed on most shared hosting servers.

Object Oriented – Increases the ability for code reuse and provides enhanced features as well as reduced development time; since code is more reusable, results in fewer bugs that can be discovered by any client and fixed for everyone; encourages developers to write more maintainable code.

Yes

Yes

Somewhat

No

Supported Development Languages – easier to find developers

C++, C#, Visual Basic.NET, Jscript.NET, Python, Perl, Java (J#), COBOL, Eiffel, Delphi – 25 languages supported currently

Java

CFML and CFScript

PHP

Browser Specific HTML Rendering – different HTML is automatically sent to IE than to Netscape, reducing incompatibility issues

Yes

No

No

No

Open Source

No

Yes

Somewhat

Yes

Real World Examples:

ComputerJobs.com

ComputerJobs.com converted from Cold Fusion to .Net and saw a 400% improvement in server efficiency.  They predicted that they would save over $100K in the following year due to reduced hardware.

Sun Microsystems' Java Pet Store J2EE BluePrint Application

A team of 2 developers rebuilt the "Sun Microsystems' Java Pet Store J2EE BluePrint Application" using .Net in 4 weeks with 25% of the code.  When tested in a lab, the .Net application ran %1000 faster than a tuned version of the Java application.  The same Pet Store application was rebuilt by both Microsoft and Sun for an independent competition sponsored by The Middleware Company.   Below is a comparison of the results:


.Net 1.1/Windows 2003

J2EE/Windows 2000

Lines of Code

2,096

14,004

Time required for tuning and optimization prior to performance test

2 man-weeks

10 man-weeks

Price/Performance Ratio – the cost per server divided by the maximum transactions per second the server could handle

$316 – in other words, for a Java application to handle the same amount of website traffic as a .Net application, and additional $989 would need to be spent on server hardware.

$1,305

Maximum Pages served per Second

1,400

600

Maximum Number of Concurrent Users

6,000

4,000

Maximum Number of Transactions per Second

117

59

Test Notes: Each application was executed on identical Compaq Proliant servers; J2EE was tested on two Application Servers, one of which crashed midway and did not complete the test; J2EE used an Oracle 9i database while .Net used a SQL Server 2000 database; J2EE ran on Windows 2000 because it outperformed RedHat Linux 7.2 in a trial test.  For the complete study, visit: http://www.msakademik.net/download/j2eedotnetbenchmark.pdf   

The Nile Benchmark

The Nile Benchmark is a complete end-to-end ecommerce application server benchmark that has been widely used by independent testing laboratories including Doculabs, eWeek®, and PC Magazine® to benchmark application server products.    The Nile application is a useful benchmark because it is simple and straightforward, yet exercises the common elements found in most real Web applications.  The benchmark shows that the Nile application implemented using Microsoft ASP.NET outperforms the same application implemented using EJBs on a leading J2EE application server by 345% on an 8 CPU system when output caching is enabled for both products. It also shows that the Microsoft.NET version of Nile outperforms the EJB version of Nile on an 8 CPU system by over 421% when output caching is not used.  

.Net References:

  1. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/coldfusiontoaspnet.asp
  2. http://www.sitepoint.com/article.php/870
  3. http://www.sitepoint.com/article/871
  4. http://www.msdnaa.net/Resources/display.aspx?ResID=2315
  5. http://www.microsoft.com/resources/casestudies/CaseStudy.asp?CaseStudyID=13392
  6. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/psimp.asp
  7. http://gotdotnet.com/team/compare/nileperf.aspx
  8. http://gotdotnet.com/team/compare/Nile%20Benchmark%20Results.doc
  9. http://www.middleware-company.com/documents/j2eedotnetbenchmark.pdf
  10. http://gotdotnet.com/team/compare/middleware.aspx

0 comments

 
Clicky Web Analytics