Will Dolphin let us save the compiled code cache?

More tiered compilation

… a repository of information collected from one run and used on another run is on the list for things we want to do in Dolphin. It’s actually on the runtime groups list but we will certainly take advantage of it. There has also been talk of using annotations to give the jit a hint. This actually isn’t too popular since it is too much like “register” declarations in C. It’s only a hint and is too often abused.

Is OS specific interruptible I/O a Java portability headache?

Java Portability

…this program below does nothing visible on Solaris, but prints “hello” with Sun Java SE on Linux and Windows:
public class Foo {
public static void main(String[] args) {

First impressions of this program’s behavior on Solaris roughly translate to “The hell you say!” followed by “Java is broken on Solaris!” There are a number of “symptoms” of interruptible I/O that catch users off guard and in a few cases one is led to wonder if it might be best to do without this feature whose flip side is that it allows “breaking out” of I/O operations that folks really want to be able to escape from.

Vista improvements in performance and scalability

Scott Dorman — Windows Vista: Kernel Changes – Shadows of Reliability, Performance and Scalability

Vista makes fewer and larger disk reads for page faults and system cache read-ahead and has removed the 64KB limit. Fewer, faster, and larger disk writes for the system page file and mapped file I/O reduce the page file fragmentation and allow a larger cluster size.

The CPU usage has also been improved by providing improvements in the concurrency management within the kernel.

It’s 2006, CMP vs. BMP?

Musings on software » Why choose cmp

…consider the strengths in performance and reduction in development that can be added by leveraging a high-quality CMP container as opposed to developing data access logic using a BMP architecture. I guarantee you’ll be happy with the results.

Excellent post! I couldn’t agree more, the debate mirrors the one around the merits and usefulness of automatic garbage collection. Sure you can manage memory yourself, but how much are you willing to pay for that vs. the performance hit you’d take in a garbage collected environment.

One issue that comes up often in this debate is the quality of the underlying SQL generated by CMP containers. The problem stems from the fact that one has very little, if any, opportunity to tune the generated SQL, and that it’s usually an all or nothing proposition. Hibernate, and to some extent Toplink, have attempted to address this but there’s still a long way to go for CMP containers to bridge this gap.