[Sage] [help] high cpu usage when opening a big rss feed

ox ox green408 at gmail.com
Thu May 17 21:40:05 PDT 2007


Hi

I suffering a performance trouble when opening a RSS feed
http://blogs.msdn.com/fyuan/rss.xml ( a big-size rss feed). It will
continually stick with high CPU utilization.  I ensure it is the Javascript
performance issues when I have use VTune to get following result:

Address   Size  Function   Class        Full Name        Module     Source
File       Timer Samples  Resolved Module Path        Timer events     Timer
%

302700    8175        js_SearchScope               js_SearchScope
js3250.dll          516  C:\firefox\Mozilla Firefox\js3250.dll     516000
12.98113208

34113      3777        js_AtomToPrintableString
js_AtomToPrintableString js3250.dll          636  C:\firefox\Mozilla
Firefox\js3250.dll     636000    16

107718    25393      js_GetSrcNoteOffset
js_GetSrcNoteOffset
js3250.dll          1179        C:\firefox\Mozilla Firefox\js3250.dll
1179000  29.66037736



After that, I try to profile with Venkman but get following understandable
results of the time consumed

:



enkman Profile Report Created .......... Fri May 18 2007 01:01:03 GMT+0800
User Agent ....... Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:
1.8.1.3) Gecko/20070309 Firefox/2.0.0.3 Debugger Version . Venkman
0.9.87[Mozilla rv:
1.8.1.3/2] Sorted By ........ total
=================================================================================
0 XStringBundle: 5000 - 0 milliseconds Function Name: getString (Lines 14 -
22) Total Calls: 6 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0) Function Name: get_stringBundle (Lines 44
- 58) Total Calls: 6 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
1 XStringBundle: 5000 - 0 milliseconds Function Name: getString (Lines 14 -
22) Total Calls: 31 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0) Function Name: get_stringBundle (Lines 44
- 58) Total Calls: 31 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
2 browser.xml: 5000 - 0 milliseconds Function Name: onxblmousedown (Lines
897 - 916) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
3 browser.xml: 5000 - 0 milliseconds Function Name: onxblmouseup (Lines 889
- 895) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
4 browser.xml: 5000 - 0 milliseconds Function Name: onxblmousedown (Lines
897 - 916) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
5 browser.xml: 5000 - 0 milliseconds Function Name: onxblmouseup (Lines 889
- 895) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
6 button.xml: 5000 - 0 milliseconds Function Name: onxblcommand (Lines 127 -
134) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
7 button.xml: 5000 - 0 milliseconds Function Name: onxblcommand (Lines 127 -
134) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
8 dialog.xml: 7.5 - 25 milliseconds Function Name: __toplevel__ (Lines 130 -
142) Total Calls: 1 (max recurse 0) Total Time: 15.63 (min/max/avg
15.63/15.63/15.63)
Time (ex. calls): 15.63 (min/max/avg 15.63/15.63/15.63)
-------------------------------------------------------------------------------
=================================================================================
9 popup.xml: 5000 - 0 milliseconds Function Name: onxblpopupshowing (Lines
231 - 239) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name: onxblpopupshowing
(Lines 146 - 162) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
10 popup.xml: 5000 - 0 milliseconds Function Name: onxblpopupshowing (Lines
231 - 239) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name: onxblpopupshowing
(Lines 146 - 162) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
11 popup.xml: 5000 - 0 milliseconds Function Name: onxblpopupshowing (Lines
231 - 239) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name: onxblpopupshowing
(Lines 146 - 162) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
12 popup.xml: 5000 - 0 milliseconds Function Name: onxblpopupshowing (Lines
146 - 162) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
13 toolbar.xml: 5000 - 0 milliseconds Function Name: onxblDOMMenuItemActive
(Lines 317 - 318) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
14 toolbar.xml: 5000 - 0 milliseconds Function Name:
onxblDOMMenuItemInactive (Lines 318 - 319) Total Calls: 1 (max recurse 0)
Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
15 toolbar.xml: 5000 - 0 milliseconds Function Name: onxblDOMMenuBarActive
(Lines 299 - 307) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
16 toolbar.xml: 5000 - 0 milliseconds Function Name: onxblDOMMenuItemActive
(Lines 317 - 318) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name:
onxblDOMMenuBarInactive (Lines 309 - 315) Total Calls: 1 (max recurse 0)
Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
Function Name: onxblDOMMenuItemInactive (Lines 318 - 319) Total Calls: 1
(max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0
(min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
17 tree.xml: 5000 - 0 milliseconds Function Name: onxblmousedown (Lines 606
- 639) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
18 tree.xml: 5000 - 0 milliseconds Function Name: onxblclick (Lines 647 -
700) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
19 tree.xml: 5000 - 0 milliseconds Function Name: onxblfocus (Lines 292 -
297) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
20 tree.xml: 5000 - 0 milliseconds Function Name: onxblblur (Lines 300 -
301) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
21 tree.xml: 5000 - 0 milliseconds Function Name: onxblfocus (Lines 292 -
297) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
22 commonDialog.js: 5000 - 0 milliseconds Function Name: __toplevel__ (Lines
1 - 331) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
23 commonDialog.xul: 5000 - 0 milliseconds Function Name: __toplevel__
(Lines 62 - 63) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
24 venkman.xul: 7.5 - 25 milliseconds Function Name: oncommand (Lines 1 - 2)
Total Calls: 1 (max recurse 0) Total Time: 15.63 (min/max/avg
15.63/15.63/15.63)
Time (ex. calls): 15.63 (min/max/avg 15.63/15.63/15.63)
-------------------------------------------------------------------------------
=================================================================================
25 venkman.xul: 1000 - 5000 milliseconds Function Name: oncommand (Lines 1 -
2) Total Calls: 1 (max recurse 0) Total Time: 4250 (min/max/avg
4250/4250/4250) Time (ex. calls): 4250 (min/max/avg 4250/4250/4250)
-------------------------------------------------------------------------------
=================================================================================
26 venkman-service.js: 5000 - 0 milliseconds Function Name: jsdph_newuri
(Lines 284 - 289) Total Calls: 2 (max recurse 0) Total Time: 0 (min/max/avg
0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
27 firebug-service.js: 5000 - 0 milliseconds Function Name: anonymous (Lines
142 - 147) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name: anonymous (Lines 160
- 175) Total Calls: 2 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time
(ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
28 nsBookmarkTransactionManager.js: 5000 - 0 milliseconds Function Name:
bkTxnMgrQI (Lines 260 - 270) Total Calls: 29 (max recurse 0) Total Time: 0
(min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name:
bkmkTxnMgrCanUndo (Lines 321 - 323) Total Calls: 12 (max recurse 0) Total
Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function
Name: bkmkTxnMgrCanRedo (Lines 325 - 327) Total Calls: 12 (max recurse 0)
Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
29 nsMicrosummaryService.js: 5000 - 0 milliseconds Function Name:
MSS__resource (Lines 134 - 136) Total Calls: 6 (max recurse 0) Total Time: 0
(min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name:
anonymous (Lines 84 - 88) Total Calls: 3 (max recurse 0) Total Time: 0
(min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name:
anonymous (Lines 159 - 164) Total Calls: 3 (max recurse 0) Total Time: 0
(min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name:
anonymous (Lines 205 - 206) Total Calls: 3 (max recurse 0) Total Time: 0
(min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name:
MSS__updateMicrosummaries (Lines 219 - 244) Total Calls: 3 (max recurse 0)
Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
Function Name: MSS__getBookmarks (Lines 606 - 626) Total Calls: 3 (max
recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0
(min/max/avg 0/0/0) Function Name: anonymous (Lines 75 - 80) Total Calls: 6
(max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0
(min/max/avg 0/0/0) Function Name: getPref (Lines 2233 - 2247) Total Calls:
3 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0) Time (ex. calls): 0
(min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
30 nsSafebrowsingApplication.js: 5000 - 0 milliseconds Function Name:
anonymous (Lines 1833 - 1835) Total Calls: 48 (max recurse 0) Total Time: 0
(min/max/avg 0/0/0) Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
31 nsUpdateService.js: 5000 - 0 milliseconds Function Name: getPref (Lines
537 - 544) Total Calls: 4 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0) Function Name: anonymous (Lines 2679
- 2699) Total Calls: 1 (max recurse 0) Total Time: 0 (min/max/avg 0/0/0)
Time (ex. calls): 0 (min/max/avg 0/0/0)
-------------------------------------------------------------------------------
=================================================================================
Thanks for using Venkman, the Mozilla JavaScript Debugger.



Can anyone help with this problem(high cpu utilization )?



Thanks in advance!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mozdev.org/pipermail/sage/attachments/20070518/7159e05a/attachment-0001.html 


More information about the Sage mailing list