Java Performence

K

kris

Hi, I need the info of how to tune the performence based on data
structures used. Like Collections.

Thanks & Regards
Krishna Prasad.
 
S

Scott Ellsworth

kris said:
Hi, I need the info of how to tune the performence based on data
structures used. Like Collections.

The very first step: measure. Either acquire a profiler, or write in
some performance tests with System.getTimeMillis. Look for hot spots,
high execution counts, and memory blowouts.

The second step: interpret. Ask yourself whether the results you are
getting 'make sense'. For example, if your app or your microbenchmark
takes a long time to query for a piece of data, ask whether it _should_
take a long time to query that data. Is the data store keyed by some
key, and stored in a Map, or is it testing against a linked list with
..equals.

The third step: decide if you have a problem to fix. For example, if
your test case is storing a hundred names, then searching for 'Herb
Philbrick' five times, you probably saw no problems, but if you are
searching for all names containing 'Bob or Robert' out of ten million,
then you just might.

The fourth step: decide the problem level. If your problem is that
retrievals are slow, you would be better served using a database or a
map than trying to write a better sort-and-binary-search.

The fifth step: with a goal in mind, and a plan, recode.

The final step: measure again, and write down what you found. You will
find that the notes are worth more than the numbers, as new VMs change.
Jack Shirazi's "Java Performance Tuning" is a bit dated by now, but you
can run his tests on recent VMs and get results that are still
applicable.

Scott
 
T

Thomas Hawtin

Scott said:
The very first step: measure. Either acquire a profiler, or write in
some performance tests with System.getTimeMillis. Look for hot spots,
high execution counts, and memory blowouts.

It's also worth doing back-of-an-envelope calculations. Say I have an
O(n^2) algorithm, are there realistic but not necessarily particularly
common situations when it's going to blow up? You need to know what to
measure.

Tom Hawtin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top