On Wednesday, Nov 13, 2002, at 10:36 US/Pacific, jon hall wrote:
> Thank you very much for your reply, and I agree that cfc's are worth a
> small performance loss. Is there anything that we could do to speed it
> up? Like storing the cfc reference in an application variable or 
> similar?

My initial tests indicate that you can get a very small speed up by 
using a scope-qualified name (in any scope) and that server scope seems 
slightly faster than variables scope. But the differences are very, 
very minor.

One thing you can do - if the method is really a 'static' method (i.e., 
does not use 'this' scope or the unnamed scope) and does not call other 
methods in the CFC (i.e., it's really just a standalone UDF and just 
happens to be inside a CFC) - is this hack:

        <cfset objAdd = createObject("component","add")/>
        <cfset localFunc = objAdd.add/>
        <cfloop index="i" from="1" to "5000">
                <cfset rs = localFunc()/>
                <!--- instead of rs = objAdd.add() --->
        </cfloop>

Of course this is really just same as calling a UDF in the first place 
and I really wouldn't encourage this sort of hack...

It works because component methods are really just items in 'this' 
scope and therefore can be accessed (and manipulated) by code outside a 
CFC instance. And because UDFs are just variables that contain a sort 
of reference to the actual function code.

Sean A Corfield -- Director, Architecture
Web Technology Group -- Macromedia, Inc.
tel: (415) 252-2287 -- cell: (415) 717-8473
aim: seancorfield -- http://www.macromedia.com
An Architect's View -- http://www.corfield.org/blog/

Introducing Macromedia Contribute. Web publishing for everyone.
Learn more at http://www.macromedia.com/contribute

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: 
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Get the mailserver that powers this list at http://www.coolfusion.com

Reply via email to