Wish List
Tags
adobe air ajax coldfusion examples ext flex javascript max2007 misc technology ui
Recent Entries
A Question of Speed
It's a BOY!
Unit Testing Functions that Access Web-Services
TIOBE Reconsiders
jQuery UI's new home
Search
RSS
Subscribe
Believe the Hype
Brian Rinaldi has a pretty good article up on site point titled "Coldfusion 8: Believe The Hype".
While CF8 does indeed have huge speed improvements over earlier versions it's important to note that if you have developed using many of the frameworks you may actually experience a degradation in performance because of the sheer number of .class files that get generated.
As explained previously in an article by Mark Mandel the problem is in the Java 1.6 class loader and how it loads the classes into memory.
At server start up Coldfusion starts loading the generated .class files into server memory until the cache is full. Because of the class loader bottle neck this results in increased server startup times.
Mark further explains that in a Production environment where there are a huge number of .class files its entirely possible to experience unexpected and hard to reproduce performance hits as Coldfusion swaps out in-memory class files.
In order to fully appreciate CF8's speed and avoid the Java 1.6 bottleneck you will need to downgrade to 1.5 or wait until Sun publishes the fix.
Happy Friday...
[Editorial Note: Thanks Julian Halliwell for pointing out my mistaken use of createObject as the bottleneck instead of the Java class loader.]


http://bugs.sun.com/bugdatabase/view_bug.do?bug_id...
Doh, that's not good! Thanks for catching that!
Gary, my understanding and experience is that it's just the initial class loading under the hood that's affected, not CFC instantiation/use of createObject() per se (which is on the contrary much faster then CF7).
So it's only when a function is first called following startup, or when it's been dropped from memory and needs to be reloaded that you get the delay.
It's annoying because application initialisation with new code can take minutes instead of seconds, but once the class files are loaded it hums along nicely.
Mark Mandel explains the detail here:
http://www.compoundtheory.com/?action=displayPost&...
Thanks for the correction!