> Calling ADO through CFOBJECT is 20% faster than CFQUERY !!!
>
> Test it yourself at http://dev.aylo.com/testing/Perf/db.cfm

When I tested it myself, using one iteration, the speeds were consistently
the same for either one; each would return 46-47 ms or 62-63 ms. I think
there's an issue with your looping construct, which is inflating the values
for CFQUERY.

>       <cfloop from="1" to="#times#" index=i>
>               <cfquery name="licenses" datasource="FusionLicenser">
>               select * from licenses
>               </cfquery>
>       </cfloop>

In this loop, I don't think you're guaranteed that it will use the same
connection each time; CF handles connection pooling, but the CF developer
has little control over whether a specific connection will be reused.

>       <CFOBJECT TYPE="COM" NAME="conn" CLASS="ADODB.Connection"
> ACTION="CREATE">
>       <cfset isopen = conn.Open("FusionLicenser","","",-1)>
>       <cfloop from="1" to="#times#" index=i>
>               <CFOBJECT TYPE="COM" NAME="rs" CLASS="ADODB.Recordset"
> ACTION="CREATE">
>               <cfset tmp = rs.Open("select * from licenses",
> conn,1,1,1)>
>       </cfloop>

In this loop, you're creating a single connection before the loop, and
within the loop you're forcing all the recordsets through that one
collection.

To me, this illustrates one of the problems of testing using loops. A better
testing methodology is to run multiple clients, and return average times
across those clients. Of course, it's certainly possible that ADO is faster
than CFQUERY, but I can't be sure that this test demonstrates that. It may
also be the case that, aggregated across an entire server or application,
CFQUERY performes better since it handles connection pooling in the
background.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
voice: (202) 797-5496
fax: (202) 797-5444

------------------------------------------------------------------------------
Archives: http://www.eGroups.com/list/cf-talk
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to