Distributors

The debugging and troubleshooting cycles of software development can often be the most tedious and time-consuming. Java programmers looking to reduce the total time to market - while continuing to maintain high standards for application performance - will benefit from OptimizeIt Professional 3.0.

The latest Java-code profiling tool from Intuitive Systems, OptimizeIt, helps take the guesswork out of debugging your Java applications, servlets, applets, and JavaBeans by providing detailed run-time feedback of a program's computer resources utilisation. I was impressed at how quickly I was able to locate code inefficiencies and memory leaks with this comprehensive suite of tools.

OptimizeIt Professional 3.0 is currently the only profiling application that provides both common methods of CPU profiling - sampling and instrumentation - on any Java virtual machine (JVM).

Sampling - stopping the program at fixed intervals to poll for executing methods - is typically adequate on larger Java programs but suffers from an inherent potential for overlooking data. However, the instrumentation process attaches additional code that the profiling software uses to calculate methods and timing without any loss of data.

Although there is an overhead incurred with instrumentation, the added accuracy for troubleshooting smaller servlets - or fast-executing recursive loop programs, for example - is invaluable. Rival KL Group's JProbe provides only a custom-instrumented virtual machine, so OptimizeIt's support of both techniques offers flexibility.

Setting up a test session could not have been easier. After configuring basic parameters, the console window allowed me to control and pause program execution. During profiling, OptimizeIt displays real-time feedback on instance creation and CPU usage as it unfolds.

The abundance of graphical and tabular data afforded by OptimizeIt's detailed profiling is quickly sorted and searchable, making it easy to drill down through complex structures.

A hierarchical tree of method calls detailed the caller and callee, as well as the CPU time consumed by each. A graph further enumerated all instances within a given class to reveal incoming and outgoing references, as well as locations where references were allocated. This data proved instrumental in rapidly identifying object references responsible for improper garbage collection.

Additional view perspectives, such as the thread activity time line and the Hotspot Display, yielded clear, "what's what" snapshots of resource consumption and areas in need of further optimisation.

I was impressed with some of the more advanced memory-profiling capabilities found in OptimizeIt. During testing, a real-time Heap display charts classes and allocated instances with a corresponding utilisation histogram that auto-highlights detected memory leaks. In several tests with contrived code, OptimizeIt got it right every time.

The option to set reference "high-water" marks during testing proved particularly helpful in isolating and associating delta to specific actions, and the display, which could be filtered, made for fast visual tracking of specific metrics.

Although OptimizeIt Professional is not compatible with as many integrated development environments (IDEs) as JProbe, I found that it seamlessly integrated with both Inprise JBuilder and Symantec Visual Cafe. OptimizeIt assimilates the IDE's environment parameters and uses the same JVM, assuring consistency across the development and testing process.

Although it makes no attempt to offer improvements to performance weaknesses, as Intel's Vtune does, OptimizeIt is brimming with useful capabilities, such as remote profiling for reduced overhead, open APIs for customised in-code profiling control, and full support for Java 2 and Sun's Java Development Kit 1.2.

I see this as a must-have tool for developers looking for a detailed understanding of their Java program's interactions. OptimizeIt Professional 3.0 provides programmers with the necessary insight to reduce the development cycle and improve the overall performance of their Java applications.

The Bottom Line

Optimizelt Professional 3.0

This well-integrated set of real-time and static profiling tools affords Java developers a comprehensive means of curtailing the debugging cycle and improving coding efficiencies - resulting in reduced development costs and an improved level of end-user satisfaction.

Slideshows

Google and Microsoft tackle triple value play at Synnex Alliance 2018

This Synnex Alliance roadshow, in association with Google and Microsoft, started with the end-user and worked back to define the notion of value, outlining the lucrative partner opportunities ahead in 2018.

Changing names: the top company rebrands hitting the channel

The past year has seen a flurry of acquisitions, sales, consolidations and business transformations in the local tech sector; ARN takes a look at the company name changes and rebrands across the Australian channel that have resulted from all this activity.

Upcoming tech talent share insights at Emerging Leaders 2018

The channel came together for the third running of the ARN Emerging Leaders Forum in Australia, created to provide a program that identifies, educates and showcases the upcoming talent of the ICT industry.

Copyright 2018 IDG Communications. ABN 14 001 592 650. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.