Thursday, September 30, 2004

A New Version of Java

On the day that Sun release Java 5.0 the project I am working on moves to Java 1.4.2_5 and Iona Orbix 6.1.

Wednesday, September 29, 2004

Who are the Sun JVM bloggers

You can get a list of the Solaris kernel developers here. The Microsoft CLR team hangs out here. Can somebody point me at a list of JVM bloggers?

On the GC Tuning Road

I'm code complete for the three Java CORBA servers I've re-architected over the last three months. I now just need to re-run the last performance tests, and fine tune the JVM options. Since I'm forced to run on the Solaris JVM 1.3.1_09 I initially started using this AWK script (later migrating to Perl) to take the -verbose:gc output and graph the results in Excel. JVM options currently being used:

-server -XX:+PrintTenuringDistribution -verbose:gc -Xss256k -XX:TargetSurvivorRatio=90 -Xss256k -ms512m -mx512m -XX:NewSize=192m -XX:MaxNewSize=192m -XX:SurvivorRatio=4 -XX:+DisableExplicitGC -XX:PermSize=16m -XX:MaxPermSize=16m

Joseph Mocker's recent blog on "A Collection of JVM Options" is a worthwhile read.

Monday, September 27, 2004

Sleepycat

Late last week I was asked to look at BerkleyDB for possible use within one of our servers (JBossCache also make used of BerkeyDB). Certain team members thought that BerkleyDB might be a better fit that using Oracle. I've never used Berkley DB, but having done a few google searchs , and reading this article, BerkeyDB could be an interesting replacement for Oracle in our servers that needs a high performance transactional storage engine.

Friday, September 24, 2004

Finally, access to ClearCase

After weeks of waiting, my machine has been setup for ClearCase, and I've got access to the projects ClearCase VOB (ClearCase version 4.2). I've never used ClearCase before, so checking in the last 2 months worth of work was interesting and slightly different to CVS. Supposedly if you can afford ClearCase, it is the best source control system available.

Essentially ClearCase VOBs use a proprietary database format, the Raima database. ClearCase allows a user to have either a snapshot or a dynamic view. In my case, I'm using a dynamic view. The view is essentially your view of the elements in the repository, allowing you to decide what branch, versions etc you want to see and work with. One of the most useful commands I've used in the last few days is :

cleartool lsco -cview -recurse

Essentially a way to check my view to see what files are I still have checked out. The next ClearCase exercise I have on the list is merging my branch with the main branch - I just need to re-run all my JUnit tests against what I have added to my ClearCase view and performance tested the code on the development Solaris server instead of my Windows XP dev box.

ClearCase CheatSheet
Eclipse ClearCase Plugin

Tuesday, September 07, 2004

Explain Plan - Oracle

I never remember how to check out the execution plans on Oracle, so this time I thought I'd blog the answer. Basically, you run the following:

explain plan for

You can then see the results with:

SELECT * FROM TABLE(dbms_xplan.display)

This article gives a lot more detail, as does this. Its a shame Oracle didn't integrate the explain plan output into SQL Plus in a similar way to what Microsoft has done with SQL Analyser.