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:
- Read a 745 KB tab-delimited text file
- Loop over the contents of the file line-by-line (ignoring line 1)
- With each iteration, create an object
- 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)
- Add the newly created object to an array
- When done, return the array of objects to the calling template
- 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 :)!