tracker issue : CF-3279677

select a category, or use search below
(searches all categories and all time range)
Title:

Slow debugger performance in CF10

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/Duplicate

Reporter/Name(from Bugbase): Matt Usher / Matt Usher (Matt Usher)

Created: 07/09/2012

Components: Performance

Versions: 10.0

Failure Type: Performance Issue

Found In Build/Fixed In Build: Final /

Priority/Frequency: Major / All users will encounter

Locale/System: English / Win 2008 Server R2 64 bit

Vote Count: 2

Duplicate ID:	CF-3198902

Problem Description:

In CF10, when debugging is enabled and custom tag paths configured in the CF administrator point to a significant number of custom tag templates, the page rendering times become very slow.

Steps to Reproduce:

Using a trivially simple CF template:

helloWorld.cfm
 
<html>
    <head>
        <title>Test page</title>
    </head>
    <body>
         <h1>Hello World</h1>
    </body>
</html>

And a custom tags path configured pointing to ~100s of custom tags templates..
 
Actual Result:

With execution times setting enabled. Debugging Time: 26131ms
With execution times setting disabled. Debugging Time: 31ms
 
The behaviour is the same whether the classic or dockable debug outputs are used.
 
If I remove the custom tag paths...
With execution times setting enabled. Debugging Time: 46ms
With execution times setting disabled. Debugging Time: 31ms
 

Expected Result:

Debug rendering times should be 10s of milliseconds

Any Workarounds:

Remove custom tag path mappings
Disable reporting of execution times in debug output


See forum thread
http://forums.adobe.com/message/4546835#4546835

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3279677

External Customer Info:
External Company:  
External Customer Name: Matt Usher
External Customer Email:  
External Test Config: My Hardware and Environment details:



CF10

Windows 2008 64-bit VM with 4 GB memory

Attachments:

  1. August 15, 2012 00:00:00: 1_StringIndexOutOfBoundsException.txt

Comments:

It seems expandPath() is REALLY REALLY REALLY slow if you have custom tag paths set that have a lot of files in them.
Comment by External U.
18751 | July 09, 2012 02:11:06 PM GMT
I've verified this on my install. expandPath() has serious performance issues on CF10 when custom tag paths are concerned. CF9 has no such issues with a similar config. -- Adam
Vote by External U.
18755 | July 09, 2012 05:37:03 PM GMT
+1, I've verified this as well. I created THIS.customTagPaths="c:\path\to\dir" where "dir" contains approx 500 folders and 2,000 files of any type. Then I enabled CF Admin's "Report Execution Times" debug output setting and the resultant "Debug Rendering Time" was approx 15 seconds for the request. Then I disabled the Report Execution Times setting and the resultant Debug Rendering Time was approx 60ms. Repeated both scenarios a few times to be sure, and yes, 100% reproducible. Window 7 64-bit.
Vote by External U.
18756 | July 10, 2012 04:14:15 AM GMT
forgot to add my name to the vote ..'tis me, -Aaron =P
Comment by External U.
18752 | July 10, 2012 04:16:08 AM GMT
I wasn't using expandPath() for the customTagPath btw, fwiw (pls see example in my vote)
Comment by External U.
18753 | July 10, 2012 04:17:54 AM GMT
Adobe, I believe this #CF-3279677 ticket is _not_ a duplicate of #CF-3198902. Because #CF-3198902 is for expandPath(), but I can reproduce #CF-3279677 w/o using expandPath(). Repro: 1) On CF Admin's "Server Settings > Caching" page, disable all settings 2) On CF Admin's "Debugging & Logging > Debug Output Settings" page, only enable "Enable Request Debugging Output" and "Report Execution Times" 3) Run this: Application.cfc ---------------- component {THIS.name = "TestReportExecutionTimes";} index.cfm ---------------- hello world! 4) See "Debug Rendering Time" less than 100ms (about 50-60ms in my case) 5) On CF Admin's "Extensions > Custom Tag Paths" page, add a new path for "c:\" 6) Run the above code and see "Debug Rendering Time" is over 10000 ms 7) Remove the "c:\" mapping from CF Admin and then run same code and see a "Debug Rendering Time" of less than 100ms again 8) Run this: Application.cfc ---------------- component { THIS.name = "TestReportExecutionTimes"; THIS.customTagPaths = "c:\"; } index.cfm ---------------- hello world! 9) See a "Debug Rendering Time" time of over 10000ms 10) Remove the 'THIS.customTagPaths = "c:\";' line from Application.cfc 11) Re-run the code 12) See a "Debug Rendering Time" time of over 10000ms 13) Restart CF 14) Repeat step #11 15) See a "Debug Rendering Time" time of less than 100ms Step #8 also once threw a java.lang.StringIndexOutOfBoundsException (please see attached file). Can this #CF-3279677 please be re-opened? Thanks, -Aaron
Comment by External U.
18754 | August 15, 2012 03:01:39 AM GMT