Posterous
Craig is using Posterous to post everything online. Shouldn't you?
Craig_south_parked_thumb
 

Craig Kaminsky’s posterous

random tech drivelings from ouray, colorado

« Back to blog

Unofficial Speed Test: CF8, CF9, and Railo (OpenBD to come next)

I'm working on a large Flex project that is backed by CF (I'm the resident CF nerd ... no cool Flex stuff for me!). We're getting near the stage that a v1 (or Google Beta) will go live. When the initial server was setup, CF9 was not yet released nor had Railo and OpenBD been fully open-sourced. Understandably, a CF8 license was purchased and remains in use.

Earlier today, I ran a basic test between CF8, CF9, and Railo because my local copy of CF8 was taking forever to perform a certain task. This is totally unofficial but the difference in speed/performance between CF8 and CF9/Railo 3.1.1 was so shocking I wanted to add a post about it: 

The Process:

  1. Read a 745 KB tab-delimited text file
  2. Loop over the contents of the file line-by-line (ignoring line 1)
  3. With each iteration, create an object 
  4. Populate the object's properties from the current lines' content (there are only 6 items per line that map to the 6 properties in the bean or object)
  5. Add the newly created object to an array
  6. When done, return the array of objects to the calling template
  7. Loop over the array and output a few properties for each item in the array
Total Objects: 12685

The Test System: Mac OS X 10.6.1; 4 GB of RAM, 3.06 GHz Core 2 Duo (1067 MHz front-side bus)

The Results
ColdFusion 8
Total processing time: 56.8 seconds

ColdFusion 9
Total processing time: 3.1 seconds

Railo 3.1.1
Total processing time: 2.7 seconds

The fact that CF9 and Railo 3.1.1 are so close did not surprise me but, good lord, the difference between CF8 and Railo/CF9 is amazing! Once I get a chance to configure OpenBD in my current installation on the Mac (I currently run OpenBD on a Linux VM), I'll test it and post the results as a new entry.

Even if my numbers are slightly skewed, damn that's a serious difference! And, if this is not a good enough reason to upgrade from CF8 to 9 or Railo, I don't know what is :)!

Loading mentions Retweet
Oct 28, 2009
 said...
the differents between cf8 and cf9 is only the new request based trusted cache. when you disable this cache cf8 and cf9 has the same speed.
in a real world example this cache has not this hughe impact.

/micha

Oct 28, 2009
Craig Kaminsky said...
Thanks for the feedback, micha!

I'm going to do some more testing shortly with OpenBD in place and better overall tests, for that matter. What concerned me was the difference b/w CF8 and Railo ... just seemed so huge. Again, this is totally unofficial testing ... but now I really want to see more results :)!

Oct 28, 2009
jamiekrug said...
Yep, a lot of that is object creation time. I have some updated tests that I haven't had time to run, but here's a somewhat recent comparison:
http://jamiekrug.com/blog/index.cfm/2009/7/21/cfc-creation-time-in-coldfusion-8-9-open-bluedragon-11-and-railo-31
Oct 28, 2009
Craig Kaminsky said...
@jamiekrug: great article, man. i'm particularly interested in the performance boost you saw generating CFCs via mappings. That alone could save us a good bit of time when creating all our objects.
 
To leave a comment on this posterous, please login by clicking one of the following.
Posterous-login     Connect     twitter