RE: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Dave Watts
> If you're running on CFMX, however, I'd look into wrapping 
> the functionality in a CFC or UDF instead of a custom tag though. 
> Functions are better suited to recusion, if you ask me, and 
> they're probably a bit more performant, but that's just a guess.

In CF 5, UDFs performed much better than analogous custom tags. However, I
haven't been able to detect any performance difference with CFMX 6.1.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/

Fig Leaf Software provides the highest caliber vendor-authorized
instruction at our training centers in Washington DC, Atlanta,
Chicago, Baltimore, Northern Virginia, or on-site at your location.
Visit http://training.figleaf.com/ for more information!


~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229960
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Barney Boisvert
Yeah, you have to have both enabled.

On 1/18/06, Baz <[EMAIL PROTECTED]> wrote:
> Barney,
>
> > if you have execution times enabled in the debugging output
>
> That's only if you have debugging enabled right?
>
> Baz
>

--
Barney Boisvert
[EMAIL PROTECTED]
360.319.6145
http://www.barneyb.com/

Got Gmail? I have 100 invites.

~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229956
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


RE: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Baz
Barney,

> if you have execution times enabled in the debugging output

That's only if you have debugging enabled right?

Baz



~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229954
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Barney Boisvert
> Tags
> maintain a lot of references (the caller chain, the tag nesting chain, etc)
> not maintained by functions and so forth.

UDFs and CFC methods maintain all of this as well, if you have
execution times enabled in the debugging output, but they don't expose
it to the request in process.  Kind of off the topic now, but if
you've got more than a small handful of UDF/method calls in your app,
make sure you've got the execution times section of the debugging
output disabled, or you'll see a HUGE decrease in performance.  Like
with 100 calls you'll be measuring the decrease in full seconds.

If that's disabled, then none of it's maintained, and things should be
lickety-split.

cheers,
barneyb

On 1/18/06, Jim Davis <[EMAIL PROTECTED]> wrote:
> I agree with Barney here with one reminder: remember that you can put
> functions inside custom tags.  Not many people seem to remember that.
>
> I've found that most recursive tags could be remodeled quite easily with
> internal recursive functions.  A function in a tag is contained within it -
> there's no exposure to the rest of the template or really any downside that
> I can see.
>
> I've done no testing to back up the claim but I would say that recursive
> functions would be much faster/less-resource-intensive that tags.  Tags
> maintain a lot of references (the caller chain, the tag nesting chain, etc)
> not maintained by functions and so forth.
>
> Jim Davis
>

--
Barney Boisvert
[EMAIL PROTECTED]
360.319.6145
http://www.barneyb.com/

Got Gmail? I have 100 invites.

~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229949
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


RE: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Jim Davis
> -Original Message-
> From: Barney Boisvert [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, January 18, 2006 5:18 PM
> To: CF-Talk
> Subject: Re: Significant Performance Hit on Recursive Custom Tags?
> 
> There is some overhead for making a custom tag call, so if you have
> recursion (or iteration) across a call, you'll have to pay that
> overhead each time.  I'd say it's nothing to worry about until you
> notice it as a problem when you're doing load testing.
> 
> If you're running on CFMX, however, I'd look into wrapping the
> functionality in a CFC or UDF instead of a custom tag though.
> Functions are better suited to recusion, if you ask me, and they're
> probably a bit more performant, but that's just a guess.

I agree with Barney here with one reminder: remember that you can put
functions inside custom tags.  Not many people seem to remember that.

I've found that most recursive tags could be remodeled quite easily with
internal recursive functions.  A function in a tag is contained within it -
there's no exposure to the rest of the template or really any downside that
I can see.

I've done no testing to back up the claim but I would say that recursive
functions would be much faster/less-resource-intensive that tags.  Tags
maintain a lot of references (the caller chain, the tag nesting chain, etc)
not maintained by functions and so forth.

Jim Davis



~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229947
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Barney Boisvert
There is some overhead for making a custom tag call, so if you have
recursion (or iteration) across a call, you'll have to pay that
overhead each time.  I'd say it's nothing to worry about until you
notice it as a problem when you're doing load testing.

If you're running on CFMX, however, I'd look into wrapping the
functionality in a CFC or UDF instead of a custom tag though. 
Functions are better suited to recusion, if you ask me, and they're
probably a bit more performant, but that's just a guess.

cheers,
barneyb

On 1/18/06, Ian Skinner <[EMAIL PROTECTED]> wrote:
> Just curious, is there a significant (aka quite noticeable) performance hit 
> when using recursive custom tags? I define recursive as being same tag called 
> within itself.
>
> I would presume it would depend on the performance of the tag in question as 
> well as its penchant to create endless recursion; which definitely has 
> performance implications, oh HOW I know it has performance implications.  IE, 
> this is a great way to bring a server to a screeching halt!
>
>
> --
> Ian Skinner

--
Barney Boisvert
[EMAIL PROTECTED]
360.319.6145
http://www.barneyb.com/

Got Gmail? I have 100 invites.

~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229941
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


RE: Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Ian Skinner
Just curious, is there a significant (aka quite noticeable) performance hit 
when using recursive custom tags? I define recursive as being same tag called 
within itself.

I would presume it would depend on the performance of the tag in question as 
well as its penchant to create endless recursion; which definitely has 
performance implications, oh HOW I know it has performance implications.  IE, 
this is a great way to bring a server to a screeching halt!


--
Ian Skinner
Web Programmer
BloodSource
www.BloodSource.org
Sacramento, CA

┌─┬─┐
│1│ │
├─┼─┤
│ │ │
└─┴─┘
 
"C code. C code run. Run code run. Please!"
- Cynthia Dunning



~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229938
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54


Significant Performance Hit on Recursive Custom Tags?

2006-01-18 Thread Michael E. Carluen
Just curious, is there a significant (aka quite noticeable) performance hit
when using recursive custom tags? I define recursive as being same tag
called within itself.



~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:229936
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54