On Friday, August 16, 2002, at 12:25 , Douglas Brown wrote:
> <cfset myString = "">
> <cfloop from="1" to="1000" index="i">
> <cfif myString EQ "">
> Hello
> </cfif>
> </cfloop>
> Execution Time
>
> 811 milliseconds
> Compared to
> <cfset myString = "1"><cfloop from="1" to="1000" index="i"><cfif
> len(myString)>Hello</cfif></cfloop>
> Execution Time 370 milliseconds

First off, doing output kinda skews the results. I changed your code - see 
below - to just do a string assignment in the if in the loop and timed it 
on CFMX with loop set to 10000 instead of 1000:

Execution Time 224 milliseconds
Compared to Execution Time 192 milliseconds
Execution Time 187 milliseconds
Compared to Execution Time 194 milliseconds
Execution Time 182 milliseconds
Compared to Execution Time 177 milliseconds
Execution Time 199 milliseconds
Compared to Execution Time 189 milliseconds
Execution Time 190 milliseconds
Compared to Execution Time 182 milliseconds
Execution Time 188 milliseconds
Compared to Execution Time 204 milliseconds
Execution Time 189 milliseconds
Compared to Execution Time 200 milliseconds
Execution Time 186 milliseconds
Compared to Execution Time 193 milliseconds
Execution Time 187 milliseconds
Compared to Execution Time 184 milliseconds
Execution Time 186 milliseconds
Compared to Execution Time 181 milliseconds

A negligible difference between the two comparisons...

Here's the modified code:

<cfset k = getTickCount()/>
<cfset myString = "">
<cfloop from="1" to="10000" index="i">
<cfif myString EQ "">
<cfset q = "Hello"/>
</cfif>
</cfloop><br/>Execution Time #getTickCount()-k# milliseconds<br/>
Compared to
<cfset k = getTickCount()/>
<cfset myString = "1">
<cfloop from="1" to="10000" index="i">
<cfif len(myString)>
<cfset q = "Hello"/>
</cfif>
</cfloop>
Execution Time #getTickCount()-k# milliseconds

Now, given there is almost no difference between the times, what is the 
justification for preferring the more cryptic code over the simpler code?

I also tried it with the apparently more common len(trim(myString)) and 
got almost identical results (with the loop limit set to 100000 this time)
:

Execution Time 1984 milliseconds
Compared to Execution Time 1938 milliseconds
Execution Time 1970 milliseconds
Compared to Execution Time 1884 milliseconds
Execution Time 1930 milliseconds
Compared to Execution Time 1949 milliseconds
Execution Time 1934 milliseconds
Compared to Execution Time 1869 milliseconds
Execution Time 1894 milliseconds
Compared to Execution Time 1858 milliseconds
Execution Time 2014 milliseconds
Compared to Execution Time 1843 milliseconds
Execution Time 1891 milliseconds
Compared to Execution Time 1849 milliseconds
Execution Time 1909 milliseconds
Compared to Execution Time 1859 milliseconds
Execution Time 1899 milliseconds
Compared to Execution Time 1856 milliseconds
Execution Time 1928 milliseconds
Compared to Execution Time 1847 milliseconds

Sean A Corfield -- http://www.corfield.org/blog/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

______________________________________________________________________
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to