本文发表在 rolia.net 枫下论坛Benchmarks also often gloss over other important issues, such as how long it took to implement the solution, how much time was spent tuning the application to arrive at the final performance, and software and hardware costs. However, recent benchmarks have begun to address the cost of the platform by calculating the cost per transaction for the application and hardware as benchmarked. Microsoft has always focused on this area: low-price hardware, low-cost deployment, high productivity. Again, .NET's relative lack of options plays a role in looking at this portion of the benchmark results. With J2EE, users can choose from different application server vendors, virtual machines, garbage-collection schemes, cache managers, and so on. This is advantageous because if a specific part of your application server doesn't work well, you can replace it. The team building and tuning the Java version of the Pet Store spent considerable time (10 person weeks per server) trying various options to wring out the best performance. The .NET team spent less time because it built, deployed, and tweaked a few parameters using only Microsoft tools. It's more likely end users will have a similar experience under .NET than they did with prior Microsoft offerings given the new packaging scheme, which removes the old DLL issues.
Performance benchmarks also exclude long-term Total Cost of Ownership (TCO) from the equation. The TCO needs to include dealing with defects, making necessary changes to the code, and costs deploying and managing the application and its associated hardware. When you determine platform use, employ a broad set of data points to get the full picture.
As the battle for share of market wages on, software vendors will continue to offer benchmarks as evidence of platform superiority; and I expect you'll see continued attempts to compare .NET and J2EE with these benchmarks. Remember to look beyond the raw data to determine everything a benchmark indicates. Despite shortcomings in this round of benchmarks, we can glean a few important points. First, you can use Microsoft .NET to build applications that readily scale across multiple CPUs and can achieve high overall performance and handle large loads. Second, .NET provides ease of use and productivity advantages over current J2EE implementations. And third, the Java community needs better guidance on how to best use the technology and which approaches help simplify the development process. Benchmark data can be a useful aid when you make your selection, especially if you're working with J2EE implementations. But as these benchmarks show, it's also important you understand how design decisions affect application performance and maintainability.更多精彩文章及讨论,请光临枫下论坛 rolia.net
Performance benchmarks also exclude long-term Total Cost of Ownership (TCO) from the equation. The TCO needs to include dealing with defects, making necessary changes to the code, and costs deploying and managing the application and its associated hardware. When you determine platform use, employ a broad set of data points to get the full picture.
As the battle for share of market wages on, software vendors will continue to offer benchmarks as evidence of platform superiority; and I expect you'll see continued attempts to compare .NET and J2EE with these benchmarks. Remember to look beyond the raw data to determine everything a benchmark indicates. Despite shortcomings in this round of benchmarks, we can glean a few important points. First, you can use Microsoft .NET to build applications that readily scale across multiple CPUs and can achieve high overall performance and handle large loads. Second, .NET provides ease of use and productivity advantages over current J2EE implementations. And third, the Java community needs better guidance on how to best use the technology and which approaches help simplify the development process. Benchmark data can be a useful aid when you make your selection, especially if you're working with J2EE implementations. But as these benchmarks show, it's also important you understand how design decisions affect application performance and maintainability.更多精彩文章及讨论,请光临枫下论坛 rolia.net