Last week at CFUnited we publicly discussed the performance enhancements in ColdFusion 8, and I also posted some specifics.
I also said that we had seen some apps where the gain is double and even triple performance. Well, sorry, I lied. I just got stats comparing Ray Camden’s Canvas Wiki running on ColdFusion MX 7.0.2 and ColdFusion 8. Same code, same hardware, some CF settings, same everything … CFMX7.0.2 processed 42.7 requests per second, and CF8 processed 181.57 requests per second. That’s more than 4 times faster!
Also, several of you have asked if the performance gains are merely the result of ColdFusion 8 running on JDK1.6. Good question. Take a look at the following numbers:
- CreatObject in CFLOOP (10,000 iterations): CFMX7.0.2(JDK1.4.2_09)=5344ms, CF8(JDK1.4.2_09)=172ms, CF8(JDK1.6)=110ms.
- CFPARAM in CFLOOP (10,000 iterations): CFMX7.0.2(JDK1.4.2_09)=828ms, CF8(JDK1.4.2_09)=250ms, CF8(JDK1.6)=171ms.
- CFSET in CFLOOP (10,000 iterations): CFMX7.0.2(JDK1.4.2_09)=843ms, CF8(JDK1.4.2_09)=260ms, CF8(JDK1.6)=180ms.
- Array creation in CFLOOP (10,000 iterations): CFMX7.0.2(JDK1.4.2_09)=130ms, CF8(JDK1.4.2_09)=60ms, CF8(JDK1.6)=33ms.
- Struct creation in CFLOOP (10,000 iterations): CFMX7.0.2(JDK1.4.2_09)=156ms, CF8(JDK1.4.2_09)=94ms, CF8(JDK1.6)=51ms.
As you can see, JDK1.6 does indeed improve performance (comparing CF8 and CF7.0.2 both running on the same JDK 1.4.2_09), but that improvement is far less significant that the core CF processing improvements.
We plan to publish all of these numbers, and much more, complete with details on how to recreate these tests. More details to follow.
Leave a Reply