I was curious about CF's performance on a large CFC. I was very surprised
at the results.
To generate the a CFC with lots of functions, I used CFSQLTool Stored
Procedure CFC Wizard with a data source name for SQL Server's master
database to generate a CFC that has a cffunction for each stored procedure.
In each function is a cfstoredproc tag formatted to call the stored procedure.
My test SQL Server has 965 system stored procedures. To generate CFC CF
took about 21 seconds plus another 90 seconds to send to the
browser. After a few simple edits to remove extra comments, the generated
CFC was 55,269 lines. Normally, CFSQLTool adds a copy of the SQL script for
the procedure as a comment in the function. When trying to add the
comments, the browsers could not handle the data volume. For the 965 test,
I added a feature to the tool not to add comments. After removing comments,
all 965 functions were generated in a single pass.
The testing for the generated CFC was a simple create object and calling 3
functions.
The first compile load of the CFC took about 23 seconds. But, after the
compile, the same test ran in about 30ms. When testing with different data
source names, the compile did not run again.
I have not digested a full understanding of the performance, but I am very
happy with these results.
If you want to try the test yourself, you can download from CFSQLTool
project on CFOpen. The actual download is under examples.
http://cfopen.org/projects/cfsqltool/
Technical note about the generated CFC. Some stored procedures have
multiple result sets. I am still working on a way to calculate multiple
result sets for code generation. In this CFSQLTool version, functions have
one result set.
Joseph
-----------------------------------------------------------------------
http://www.switch-box.org/CFSQLTool/Download/
Switch_box MediaFirm, Inc.
www.Switch-box.org Loveland, CO USA
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to
[email protected] with the words 'unsubscribe cfcdev' as the subject of the
email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting
(www.cfxhosting.com).
CFCDev is supported by New Atlanta, makers of BlueDragon
http://www.newatlanta.com/products/bluedragon/index.cfm
An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]