Skip to main content

Under Pressure

Posted by editor on August 15, 2005 at 9:27 AM EDT

Focusing on Java performance

Sick of the "Java is slow" crowd yet? These assertions of Java non-performance are so predictable, I swear such posts on Slashdot are generated by 'bots (in my mind, most of these comments are perl scripts generating posts about how great PHP is). What's worse is when even Java people don't get it. I worked with some colleagues who were absolutely shocked that compiling their code with GCJ only gave them a 5% performance improvement... as if they believed the code would not be compiled (by a JIT, by HotSpot, etc.) otherwise.

But there's no avoiding that Java performance is under a microscope, from within and without, and it's critically important that Java's performance, while remarkable, continue to improve.

To this end, there is a performance project on java.net, and it has just kicked off a wide ranging discussion in the Forums. In the initial post, Tom Marble writes:

This is *the* place to talk about performance issues throughout the stack: hardware, OS, Java Platform, Application Server, Web Services, and Desktop, grid engine, etc. I'll update the main performance page soon: https://performance.dev.java.net/

Please join the conversation with your insights on performance issues, across the Java spectrum.


Also in today's Forums, s690716 wants a JSR for accessing imaging devices (TWAIN, SANE, VFW, V4L): "It's time to support standard imaging APIs like TWAIN. After a long time you can use output devices like printers (javax.print) on different systems... but the input for image data (without JNI) is not supported. standard apis like twain, sane and wia are available and should supported and used by java. The JMF still has support for some properitary video devices. Imaging devices like scanners are not supported yet (neither in image i/o nor in jai). The standard hint/workaround 'use JNI' is not helpful..."


In today's Weblogs. Richard Bair explains SwingLabs and Swing You may have heard of SwingLabs, but how does it relate to Swing? Have you wondered about the contribution process, or why the JCA is required? In this blog I describe the relation between Swing and SwingLabs.

In Straining the bath water (in search of lost babies), John Reynolds says: "Innovation in web component frameworks is a wonderful thing, but there seem to be a lot of babies headed down the drain. Why another Java web component framework? Why not evolve (fix) one of the existing web component frameworks? "

David Herron is thinking about Open source quality organizations: "Today I spent a few hours looking at the presence of quality organizations in different open source projects. Typically you think of an open source project has being some software developers scratching an itch, and so the processes circle around the software developers. So I expected to find little presence of quality organizations within the various open source projects. The results of my search surprised me. In some instances anyway. "


In Also in Java Today , Joshua Marinacci expands on Swing Hacks in Hacking Swing with Undocumented Classes and Properties. He writes, "This article will show you six undocumented features, classes, and properties that let you hack into Swing. I've based the article on hacks that didn't make it into 'Swing Hacks' for one reason or another. Some of them were too short to be full hacks on their own. Some didn't fit nicely into a particular chapter. Some are new things I've learned since publishing the book (technology stands still for no one)."

Ars Technica has a short article on AJAX: the cross-platform successor to Java: "Whatever AJAX is, it uses a collection of acronyms, HTML, XML, CSS, DOM, etc., and JavaScript to create a unique genre of web page. This 'web page' has the look and feel of an application running under a traditional operating system, though it functions (in theory) independent of a given OS. [...] Today, Google Maps is probably the best known implementation of AJAX, recognized by the ability to scroll and zoom maps without the biggest drawback of traditional web pages: refresh." Comparing AJAX to Java as a client-side technology, it continues, "what does a traditional consumer mapping application do that Google Maps does not, and how many people use that specialized functionality? That is the question to ask. The answer is the 80/20 Java based word processor debate, and we all know how that turned out. "


In Projects and Communities, Daniel Brookshier's blog Making the art of Java really about art interviews the founder of the TilePile project, which helps artists create glass tile murals, by breaking down the mural image into the smaller pieces that can be analyzed by color and eventually assembled into the complete work.

Apple has updated two of their sample code projects to show how to create Universal Binaries for the native parts of JNI-based Java applications. The samples, MyFirstJNIProject and CWCocoaComponent require no code changes to run on Intel-based Developer Transition Systems


In this week's Spotlight: The Cajo project offers "a small, free library, enabling powerful dynamic multi-machine cooperation, both within, and between, Java applications." The framework makes no syntactic distinction between local and remote objects, and thus requires no code changes to distribute processing across the network. Applications can transfer their user interface to any Java-capable client. The project claims "This architecture can fulfill the true promise of Java: Turn the network into one seamless, evolving computer; link everything, from mainframes, to mobile phones." Cajo is also featured in the links of the Wikipedia article on Computer cluster.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


Current and upcoming Java Events :

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.



Focusing on Java performance