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 :)!

Posted via web from Craig Kaminsky's posterous