March 26, 2008

Java performance improvements touted

Technologists acknowledge previous shortcomings but point out that Java's performance now equals or tops apps developed in C

Java is not the slowpoke of old days and performance now matches or exceeds applications developed in C, technologists stressed Wednesday during a presentation at TheServerSide Java Symposium in Las Vegas.

Java Virtual Machines and garbage collection, for example, have improved and Java itself has come along way, the technologists argued. Early Java Virtual Machines were indeed slow, said Brian Goetz, Sun senior staff engineer. But that has changed.

"The reality is, Java is pretty fast these days," Goetz said. Java performance now measures up to C but lags behind in memory consumption, he said.

He and Cliff Click, chief JVM architect at Azul Systems, looked to debunk several myths, such as object allocation being slow. "This was one of those things that was absolutely true a long time ago," said Goetz. Garbage collection also was slow because it had to stop programs, trace the heap, and look for objects to discard. "It's not surprising in the early days people came to the conclusion that memory management in Java was really intensive," he said.

Another myth is that synchronization is slow. But changes have been made such as better locking algorithms, said Goetz. He also noted the continued perpetuation of the myth that Java programs spend 20 percent of their time in garbage collection, a belief traced to a paper written in 1995.

An attendee concurred about Java's performance. "We run a huge J2EE application, and we meet all our service-level agreements all the time," said Jerald Nielson, of Accenture. The program is an automated welfare system for the state of California, he said.

Java has gotten better because of incremental improvements, Click said after the session. "The garbage collection's definitely gotten better, the JIT's (Just in Time compiler) gotten better, the runtime's gotten better, a lot of things have gotten better," Click said.

Java also enjoys a 10-times performance advantage over interpreted scripting languages like JavaScript, Perl and Python, he said. "The scripting languages aren't JIT-ted yet," he said.

Scripting languages are ideal for smaller programs but Java is the choice for larger programs, he said. "As your program grows in size, the lack of strong typing basically kills your ability to handle a very large program and so you don't find the million-line Perl program," he said. One-million-line Java programs are plentiful, Click said. Strong typing refers to the capability of knowing the type of memory objects.

Also during the symposium Wednesday, Neal Ford, senior application architect at ThoughtWorks, spoke of DSLs (domain-specific languages) as a way to simplify programming. A DSL is a next step after a framework like Spring, he said. DSLs allow developers to express ideas in a concise way while objects, aspects, and generics become building blocks for a DSL, he said.

"You build a framework like Spring to handle aspects, but even something like Spring is getting complicated now," he said.

Language workbenches, such as Microsoft's Software Factories or JetBrains's MPS (Meta-Programming System), represent external DSLs, he said.

Paul Krill is an editor at large at InfoWorld.
Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.