wiki:ProfilingResults
Last modified 9 years ago Last modified on 07/09/08 10:11:14

Profiling

Instructions

Turning on profiling in Zope

Edit etc/zope.conf in your Zope folder and uncomment line

#    publisher-profile-file $INSTANCE/var/profile.dat

(search for 'profile' to find this line)

Restart Zope.

Using hammerhead to stress test LeMill

Get the hammerhead configuration from source:/bundle/hammerhead and read source:/bundle/hammerhead/README.txt You'll get nice summary information on the speed of LeMill into the results log file.

Using wget to stress test LeMill

  1. Install wget on your machine (preinstalled on most Linux boxes)
  2. Run wget -r -p -l inf -np http://servername/lemill-server/
    • you can add --delete-after if you don't want to fill your hard drive with the stuff wget downloads.
  3. You won't get any statistics from wget, but this may be useful for profiling.
  4. This may take long time.

Results

Baseline (Jukka)

Let's set the baseline to be Zope's default front page (Zope Quick Start on gray background) and 50 requests with 'ab' command.

Content of lemill is quite-up-to-date lemill.net Data.fs

Jukka (profiling on, Macbook Dualcore 1.8Ghz, 1G mem) :

  • base: 74.70 ms/page
  • empty Plone-site, front page: 2687.90 ms (!)
  • lemill-server/content: 2660.10 ms
  • lemill-server/content/tags: 2936.30 ms
  • lemill-server/activities 2038.20 ms
  • lemill-server/activities/tags: 2133.30 ms
  • lemill-server/tools: 2127.70 ms
  • lemill-server/tools/tags: 2396.60 ms
  • lemill-server/community: 3549.50 ms
  • lemill-server/community/members: 3395.50 ms
  • lemill-server/community/groups: 1879.60 ms

Miscallenous

When creating a simple Multimedia page, (create, save, save metadata, view). getBodyText is called 45 times. getRawBodyText is called once. getBodyText goes through regexp-transformations and other quite slow stuff. (5.4.2007, after release of 1.9, Jukka)

I'm starting to think we should have getCookedBodyText for actual displaying.

wget traversal of the entire site (Tarmo)

I ran a wget on Zope running on a single core of our development server, running on a lemill.net database from December. In all wget downloaded 79116 files and 1,363,452,832 bytes of data.

The most called methods:

   ncalls            tottime   percall  cumtime   percall filename:lineno(function)
782464131/782450590 -8791.022   -0.000 -8785.652   -0.000 :0(get)
370035833/358418296  5071.200    0.000  3835.203    0.000 :0(getattr)
365691271           -1473.767   -0.000 -1473.767   -0.000 :0(isinstance)
231817795            3996.720    0.000  2345.923    0.000 ZopeGuards.py:52(guarded_getitem)
227457341            1253.080    0.000  1253.080    0.000 :0(append)
199788398/199596269  1148.350    0.000  1152.270    0.000 :0(len)
128742131/128742059   721.810    0.000   723.480    0.000 :0(has_key)
112155574             569.400    0.000   569.400    0.000 :0(cmp)
112155480            2364.540    0.000  4688.523    0.000 Script (Python):149(<lambda.1>)
99351985/99335345    1153.440    0.000  1535.690    0.000 :0(hasattr)
 92580025             616.010    0.000   616.010    0.000 :0(pop)
 75240217             354.800    0.000   354.800    0.000 :0(get_ident)
 65241424            1169.580    0.000 -2235.657   -0.000 FasterStringIO.py:99(write)
 61298194             963.160    0.000  1548.400    0.000 SecurityManagement.py:17(getSecurityManager)
 55727559             315.030    0.000   315.030    0.000 :0(aq_base)
 53928697             313.030    0.000   313.030    0.000 :0(startswith)

Sorted by time (time spent in that method, not including time spent in other methods called by that method). This effectively tells how slowly each method by itself performs. The total amount of time is 35586.580, so for example 3500 in "tottime" would mean 10% of the running time of the server.

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
370035833 5071.200    0.000 3835.203    0.000 :0(getattr)
231817795 3996.720    0.000 2345.923    0.000 ZopeGuards.py:52(guarded_getitem)
112155480 2364.540    0.000 4688.523    0.000 Script (Python):149(<lambda.1>)
  4201451 1951.950    0.000 2781.320    0.001 PlacelessTranslationService.py:556(negotiate_language)
 18813416 1564.340    0.000  287.635    0.000 TALInterpreter.py:282(do_startTag)
227457341 1253.080    0.000 1253.080    0.000 :0(append)
 28292239 1195.310    0.000 3954.810    0.000 :0(guarded_getattr)
 15192348 1175.640    0.000 2137.100    0.000 PythonExpr.py:47(_bind_used_names)
 65241424 1169.580    0.000 -2235.657  -0.000 FasterStringIO.py:99(write)
 99351985 1153.440    0.000 1535.690    0.000 :0(hasattr)
199788398 1148.350    0.000 1152.270    0.000 :0(len)
 41559645 1085.480    0.000 3045.840    0.000 ZopeSecurityPolicy.py:28(getRoles)
 61298194  963.160    0.000 1548.400    0.000 SecurityManagement.py:17(getSecurityManager)
 24379784  875.510    0.000 1460.490    0.000 TALES.py:183(endScope)
 29940016  867.150    0.000 -2796.062  -0.000 Expressions.py:105(_eval)
 41501513  822.490    0.000 21786.154   0.001 TALES.py:215(evaluate)
 28434709  806.010    0.000 7463.046    0.000 Expressions.py:158(_eval)
 26276192  782.820    0.000 1749.540    0.000 Skinnable.py:68(__getattr__)
128742131  721.810    0.000  723.480    0.000 :0(has_key)
 17749167  693.950    0.000  694.020    0.000 :0(aq_get)
  1215949  679.250    0.001 5367.783    0.004 :0(sort)
 14726955  654.480    0.000  654.560    0.000 :0(keys)
 23073496  638.630    0.000 2614.210    0.000 :0(validate)
 92580025  616.010    0.000  616.010    0.000 :0(pop)
112155574  569.400    0.000  569.400    0.000 :0(cmp)
 19657061  524.780    0.000 1404.000    0.000 :0(map)
 14362872  509.350    0.000 1801.780    0.000 TALInterpreter.py:442(do_rawtextBeginScope_tal)
 11045390  420.160    0.000  765.980    0.000 Traversable.py:92(getPhysicalPath)
 15192348  418.740    0.000 13834.481   0.001 ZRPythonExpr.py:42(__call__)
  3988508  418.050    0.000 1730.100    0.000 Traversable.py:109(unrestrictedTraverse)
  9959287  412.810    0.000 30702.860   0.371 TALInterpreter.py:400(no_tag)
 28711469  389.180    0.000 7938.966    0.000 Expressions.py:182(__call__)
 45409104  362.020    0.000  362.020    0.000 :0(copy)
   868597  361.850    0.000 5632.100    0.006 ActionProviderBase.py:79(listActionInfos)
 34873194  361.580    0.000  361.580    0.000 :0(update)
 75240217  354.800    0.000  354.800    0.000 :0(get_ident)
 19031554  346.820    0.000  430.250    0.000 PropertyManager.py:153(getPropertyType)
  7550801  332.710    0.000  505.530    0.000 UserDict.py:40(update)
 24381156  331.740    0.000  654.880    0.000 TALES.py:180(beginScope)
  5511994  331.090    0.000  622.650    0.000 User.py:171(allowed)
 42501600  324.960    0.000  324.960    0.000 :0(join)
22877068   324.580    0.000 2682.900    0.000 ActionInformation.py:84(__getitem__)
 55727559  315.030    0.000  315.030    0.000 :0(aq_base)
  5080409  313.040    0.000 1569.390    0.000 BaseObject.py:1087(__bobo_traverse__)
 53928697  313.030    0.000  313.030    0.000 :0(startswith)
  5511956  300.860    0.000 1918.380    0.000 ImplPython.py:464(checkPermission)

List of (hopefully) all modules in LeMill:

       78    0.000    0.000    0.030    0.000 BlogPost.py:212(myDateToArchive)
     1441    0.040    0.000    1.550    0.001 BlogPost.py:121(getAuthors)
      319    0.000    0.000    0.000    0.000 BlogPost.py:140(isPost)
       91    0.000    0.000    0.090    0.001 FieldsWidgets.py:685(get)
    14118    0.740    0.000   36.860    0.003 FieldsWidgets.py:904(getObjectByUID)
       32    0.000    0.000   14.810    0.463 FieldsWidgets.py:1084(getLength)
    25728    0.520    0.000    9.820    0.000 FieldsWidgets.py:625(get)
      356    0.000    0.000    0.000    0.000 FieldsWidgets.py:889(isImageUID)
      603    0.000    0.000    0.000    0.000 FieldsWidgets.py:894(isKeywords)
     3269    0.150    0.000    1.950    0.001 FieldsWidgets.py:717(get)
     2420    0.250    0.000    1.530    0.001 FieldsWidgets.py:650(get_historical)
      988    0.000    0.000    0.000    0.000 FieldsWidgets.py:899(isQuestions)
       39    0.000    0.000    0.000    0.000 FieldsWidgets.py:461(merge_keywords)
     2420    0.100    0.000    5.370    0.002 FieldsWidgets.py:664(get)
    31138    0.600    0.000    1.000    0.000 FieldsWidgets.py:870(isUid)
      356    0.000    0.000    0.000    0.000 FieldsWidgets.py:884(isAudioUID)
        5    0.000    0.000    0.000    0.000 FieldsWidgets.py:1032(getLength)
     1159    0.040    0.000    0.180    0.000 GroupBlog.py:312(getRoles)
     1159    0.060    0.000   20.460    0.018 GroupBlog.py:300(isMember)
     1205    0.020    0.000    0.270    0.000 GroupBlog.py:256(getCoverImageURL)
       46    0.000    0.000    0.030    0.001 GroupBlog.py:292(NiceName)
     1159    0.010    0.000    0.190    0.000 GroupBlog.py:307(canIModerate)
       66    0.010    0.000    0.050    0.001 GroupBlog.py:622(sortedBlogListing)
     1504    0.010    0.000    0.010    0.000 GroupBlog.py:321(getBlog)
     1159    0.280    0.000   79.840    0.069 GroupBlog.py:282(getGroupMembers)
      636    0.040    0.000   15.120    0.024 GroupBlog.py:426(getFolderFiltered)
     1159    0.060    0.000    1.340    0.001 GroupBlog.py:589(getArchDates)
       23    0.000    0.000    0.080    0.003 GroupBlog.py:512(RSS)
       23    0.010    0.000    0.190    0.008 GroupBlog.py:550(CommentsRSS)
     1159    0.060    0.000    0.610    0.001 GroupBlog.py:262(amIOwner)
      840    0.010    0.000    0.010    0.000 GroupBlog.py:267(isPost)
      636    0.090    0.000    9.530    0.015 GroupBlog.py:234(getGroupMaterials)
     1159    0.060    0.000    1.420    0.001 GroupBlog.py:605(interpritArchDates)
      245    0.000    0.000    0.000    0.000 LeMillReference.py:168(amIMaterial)
        6    0.000    0.000    0.000    0.000 LeMillTool.py:104(searchable_types)
    56365    3.650    0.000   37.800    0.001 LeMillTool.py:164(giveLanguageLink)
     4032    1.160    0.000  275.180    0.068 LeMillTool.py:147(getPrettyLanguage)
    21386    3.340    0.000   29.980    0.001 LeMillTool.py:58(render)
    81511    1.910    0.000    7.450    0.000 LeMillTool.py:172(testLinkParameters)
    13880    1.340    0.000   55.200    0.004 LeMillUserTool.py:78(getGroupsList)
     1810    0.000    0.000    0.000    0.000 Material.py:107(amIMaterial)
     7216    0.110    0.000    3.280    0.000 Material.py:140(pretty_title_or_id)
   191654    4.630    0.000 5201.010    0.027 MemberFolder.py:405(NiceName)
     1680    0.330    0.000   38.440    0.023 MemberFolder.py:500(getSamples)
    37998    0.170    0.000    0.170    0.000 MemberFolder.py:327(getMemberFolder)
     6819    0.630    0.000  204.760    0.030 MemberFolder.py:486(getResources)
     6927    0.080    0.000    0.130    0.000 MemberFolder.py:323(getMemberId)
    17556    0.510    0.000    7.270    0.000 MemberFolder.py:399(getCoverImage)
     5223    0.110    0.000    8.400    0.002 MemberFolder.py:337(getCollections)
     5054    0.190    0.000    0.350    0.000 MemberFolder.py:353(getStoriesFolder)
   357098   22.280    0.000 5222.300    0.015 MemberFolder.py:446(getFullname)
   714196   38.670    0.000 5198.270    0.007 MemberFolder.py:426(__getMemberProperty)
     5054    0.090    0.000    8.590    0.002 MemberFolder.py:359(getStories)
     6927    0.180    0.000   20.020    0.003 MemberFolder.py:672(giveSortedListOfContacts)
     5223    0.130    0.000    1.510    0.000 MemberFolder.py:331(getCollectionsFolder)
      114    0.140    0.001    5.770    0.051 PILOTMaterial.py:123(buildXML)
       20    0.000    0.000    0.010    0.001 PILOTMaterial.py:126(kw_cutter)
    20930    0.650    0.000   27.770    0.001 Piece.py:137(isImage)
      134    0.010    0.000    0.060    0.000 Piece.py:167(getJpegVarName)
     5450    0.170    0.000 -4290.157   -0.787 Piece.py:142(isAudio)
      238    0.000    0.000    0.030    0.000 Piece.py:124(getLength)
     3000    0.050    0.000 -4290.507   -1.430 Piece.py:208(getDefaultIcon)
     2049    0.060    0.000    0.550    0.000 Piece.py:147(isMovie)
     7107    0.080    0.000    3.320    0.000 Piece.py:120(pretty_title_or_id)
     7597    0.040    0.000    0.040    0.000 Resources.py:62(getDefaultIcon)
     3764    0.190    0.000   37.660    0.010 Resources.py:361(getTranslations)
   191511    4.690    0.000   98.600    0.001 Resources.py:357(getAuthors)
    22533    1.620    0.000   11.420    0.001 Resources.py:312(canIModerate)
    84524    5.480    0.000  155.220    0.002 Resources.py:325(getCoverImageURL)
     5274    0.270    0.000   12.340    0.002 Resources.py:774(getGroupsEditing)
      245    0.000    0.000    0.210    0.001 Resources.py:294(Contributors)
      394    0.010    0.000    1.420    0.004 Resources.py:816(redirect)
      415    0.090    0.000   34.280    0.083 Resources.py:688(download)
      245    0.000    0.000    0.130    0.001 Resources.py:290(Creators)
     2310    0.050    0.000    8.260    0.004 Resources.py:371(getOriginal)
     3420    0.670    0.000   18.860    0.006 Resources.py:476(getHistoryEntries)
     1595    0.080    0.000  119.430    0.075 Resources.py:450(getLanguagelist)
     6072    0.190    0.000    0.520    0.000 Resources.py:535(getTimeForOldHistory)
    44757    1.320    0.000   44.490    0.001 Resources.py:281(Creator)
     1662    0.150    0.000    1.890    0.001 Resources.py:563(getFieldHistory)
     5082    0.080    0.000    0.080    0.000 Resources.py:469(getHistory)
      231    0.020    0.000    3.180    0.014 Resources.py:803(__bobo_traverse__)
     4830    0.120    0.000    6.780    0.001 Resources.py:510(_prettyFieldName)
    22557    2.440    0.000   14.230    0.001 Resources.py:307(amIOwner)
    51197    2.530    0.000    4.250    0.000 SectionFolder.py:384(getMember)
       74    0.230    0.003    3.090    0.042 SectionFolder.py:445(getSimpleUniques)
     1159    0.080    0.000    0.170    0.000 SectionFolder.py:373(amIManager)
     1351    0.000    0.000    0.000    0.000 SectionFolder.py:754(tagcloud_type)
    43212    1.500    0.000 -4204.897   -0.097 SectionFolder.py:619(public_getSortCriterion)
    43212    0.630    0.000    7.330    0.000 SectionFolder.py:581(getUrlInsideMemberFolder)
       51    0.170    0.003    2.330    0.046 SectionFolder.py:400(getSamples)
    43212    5.140    0.000  267.800    0.006 SectionFolder.py:207(analyzeRequest)
    33641    1.620    0.000   19.800    0.001 SectionFolder.py:565(getTagURL)
    26886    0.190    0.000    0.190    0.000 SectionFolder.py:464(adjust)
    24424    0.060    0.000    0.060    0.000 SectionFolder.py:556(<lambda>)
    21568    0.410    0.000    0.770    0.000 SectionFolder.py:844(getBrowsedStuff)
    31110   55.080    0.002  993.920    0.032 SectionFolder.py:273(fullResultCount)
       14    0.000    0.000    0.000    0.000 SectionFolder.py:55(getMaterialTypes)
     3510    4.540    0.001   50.100    0.014 SectionFolder.py:452(getUniques)
    19194    0.340    0.000   30.490    0.002 SectionFolder.py:694(filterContent)
      546    0.000    0.000    0.010    0.000 SectionFolder.py:438(url_quote)
    21568    0.330    0.000    5.340    0.000 SectionFolder.py:864(filterContent)
       26    0.010    0.000    0.030    0.001 SectionFolder.py:789(getCollaboration_proposals)
      182    0.930    0.005    2.200    0.012 SectionFolder.py:407(getTopResults)
        1    0.000    0.000    0.000    0.000 SectionFolder.py:772(my_page)
    43212    8.730    0.000  313.160    0.007 SectionFolder.py:338(whatResourceWhereDictionary)
        1    0.000    0.000    0.000    0.000 SectionFolder.py:51(getAllContentTypes)
     3150    0.020    0.000    0.060    0.000 SectionFolder.py:691(getTemplate)
     1680    0.010    0.000    0.010    0.000 SectionFolder.py:59(getContentTypes)
    22248    0.280    0.000 -4289.417   -0.193 SectionFolder.py:630(getDefaultIcon)
     2250    0.190    0.000    0.300    0.000 SectionFolder.py:392(getOtherMember)
    21644    0.360    0.000    0.590    0.000 SectionFolder.py:321(getBrowsedStuff)
    21568    0.120    0.000    0.120    0.000 SectionFolder.py:782(tagcloud_type)
       13    0.000    0.000    0.020    0.002 SectionFolder.py:822(mergeLatestPostsInMyGroups)
     3459    0.040    0.000    0.040    0.000 SectionFolder.py:71(getFeaturedTypes)
     2450    0.020    0.000    0.020    0.000 SectionFolder.py:626(filterContent)
    22369    5.300    0.000  339.660    0.015 SectionFolder.py:852(getCollections)
    19194    0.060    0.000    0.060    0.000 SectionFolder.py:704(tagcloud_type)
     1099    0.010    0.000    0.010    0.000 SectionFolder.py:740(tagcloud_type)
   203280    1.450    0.000    1.450    0.000 SectionFolder.py:702(<lambda>)
    43212    0.160    0.000    0.160    0.000 SectionFolder.py:316(prettyMethodNameDictionary)
    35502    0.280    0.000    0.280    0.000 SectionFolder.py:879(<lambda>)

Python expressions in ZPT (again, look at cumulative time and compare to 35000):

       37    0.000    0.000    0.000    0.000 Python expression "'%02d' % length['minute']":1(<expression>)
       37    0.000    0.000    0.000    0.000 Python expression "'%02d' % length['second']":1(<expression>)
    60210    1.310    0.000    3.010    0.000 Python expression "'%s?%s%s' % (url, request_opened['search_url'],add_filter)":1(<expression>)
     1992    0.040    0.000    1.810    0.001 Python expression "'%s?%s' % (url , mq( request.form, {batch.b_start_str:n.first}))":1(<expression>)
     1326    0.010    0.000    1.150    0.001 Python expression "'%s?%s' % (url , mq( request.form, {batch.b_start_str:p.first}))":1(<expression>)
      582    0.010    0.000    0.400    0.001 Python expression "'%s?%s' % (url, batch.pageurl(request.form,1))":1(<expression>)
      744    0.020    0.000    0.500    0.001 Python expression "'%s?%s' % (url,batch.pageurl(request.form,batch.numpages))":1(<expression>)
     7896    0.050    0.000    0.050    0.000 Python expression "'%s?%s' % (url,query)":1(<expression>)
     1101    0.020    0.000    0.910    0.001 Python expression "'%s?category=%s' % (blog.absolute_url(), cat)":1(<expression>)
     2318    0.020    0.000    0.020    0.000 Python expression "'%s?category=%s' % (blogurl, cat)":1(<expression>)
     1074    0.030    0.000    0.780    0.001 Python expression "'%s?category=%s' % (here.absolute_url(), cat)":1(<expression>)
       78    0.000    0.000    0.000    0.000 Python expression "'%s_%s' % (fieldName,index)":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'%s_count' % fieldName":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'%s_deleted' % fieldName":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'%s_edited' % fieldName":1(<expression>)
       30    0.000    0.000    0.000    0.000 Python expression "'%s_keyword_%s_%s' % (fieldName,index,i)":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'%s_last_edited' % fieldName":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'%s_uploaded' % fieldName":1(<expression>)
    73431    0.680    0.000    0.680    0.000 Python expression "'%s_view' % portal_type":1(<expression>)
       94    0.000    0.000    0.000    0.000 Python expression "'' in keywords_valid":1(<expression>)
      276    0.000    0.000    0.000    0.000 Python expression "''":0(<expression>)
        8    0.000    0.000    0.000    0.000 Python expression "'''javascript:document.getElementById('%s_deleted').value=%s''' % (fieldName, index)":1(<expression>)
        8    0.000    0.000    0.000    0.000 Python expression "'''javascript:document.getElementById('%s_edited').value=%s''' % (fieldName, index)":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'''javascript:document.getElementById('%s_uploaded').value=%s''' % (fieldName, index)":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "'''javascript:search_for_pieces(event,%s,'audio=False')''' % index":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "'''javascript:search_for_pieces(event,%s,'audio=True')''' % index":1(<expression>)
     1701    0.080    0.000    0.080    0.000 Python expression "'('+str(len(colls))+')'":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "'bodyText'":0(<expression>)
     8358    0.110    0.000    4.900    0.001 Python expression "'contenttype-' + normalizeString(item.portal_type)":1(<expression>)
      384    0.010    0.000    0.220    0.001 Python expression "'contenttype-' + normalizeString(item_type)":1(<expression>)
    10884    0.240    0.000    6.170    0.001 Python expression "'contenttype-' + normalizeString(result.portal_type)":1(<expression>)
       39    0.000    0.000    0.000    0.000 Python expression "'country?getLocation_country='+here.url_quote(result)":1(<expression>)
      342    0.000    0.000    0.250    0.001 Python expression "'escription' in field.getName() and getattr(context, field.getName(), '')":1(<expression>)
       39    0.000    0.000    0.000    0.000 Python expression "'group_language?getLanguage_skills='+here.url_quote(result)":1(<expression>)
       39    0.000    0.000    0.000    0.000 Python expression "'interests?getInterests='+here.url_quote(result)":1(<expression>)
       42    0.000    0.000    0.010    0.000 Python expression "'language?Language=%s&filter=resources' % here.url_quote(result)":1(<expression>)
       72    0.000    0.000    0.040    0.001 Python expression "'language?Language='+here.url_quote(result)":1(<expression>)
       39    0.000    0.000    0.020    0.001 Python expression "'language?getLanguage_skills='+here.url_quote(result)":1(<expression>)
     1487    0.030    0.000    0.570    0.000 Python expression "'mail_password_form?'+ztu.make_query(userid=login_name)":1(<expression>)
       30    0.000    0.000    0.020    0.001 Python expression "'mailto:'+props.email_from_address":1(<expression>)
       94    0.000    0.000    0.000    0.000 Python expression "'missing' in audio_valid":1(<expression>)
       94    0.000    0.000    0.000    0.000 Python expression "'missing' in images_valid":1(<expression>)
      978    0.030    0.000    0.030    0.000 Python expression "'navTree navTreeLevel'+str(level)":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'piece-edit-box-%s' % index":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "'piece-search-%s' % index":1(<expression>)
     1680    0.060    0.000    1.130    0.001 Python expression "'portfolio?Creator=%s&filter=activities' % here.id":1(<expression>)
     1680    0.010    0.000    1.090    0.001 Python expression "'portfolio?Creator=%s&filter=resources' % here.id":1(<expression>)
     1680    0.030    0.000    0.990    0.001 Python expression "'portfolio?Creator=%s&filter=tools' % here.id":1(<expression>)
     1680    0.010    0.000    0.880    0.001 Python expression "'portfolio?Creator=%s' % here.id":1(<expression>)
       39    0.000    0.000    0.010    0.000 Python expression "'skills?getSkills='+here.url_quote(result)":1(<expression>)
     8358    0.180    0.000    4.070    0.000 Python expression "'state-' + normalizeString(item.review_state)":1(<expression>)
    11268    0.180    0.000    5.620    0.000 Python expression "'state-' + normalizeString(item_wf_state)":1(<expression>)
       42    0.000    0.000    0.030    0.001 Python expression "'subject_area?getSubject_area=%s&filter=resources' % here.url_quote(result)":1(<expression>)
       42    0.000    0.000    0.010    0.000 Python expression "'tags?getTags=%s&filter=resources' % here.url_quote(result)":1(<expression>)
      111    0.000    0.000    0.050    0.000 Python expression "'tags?getTags='+here.url_quote(result)":1(<expression>)
       42    0.000    0.000    0.010    0.000 Python expression "'target_group?getTarget_group=%s&filter=resources' % here.url_quote(result)":1(<expression>)
     1726    0.070    0.000    1.320    0.001 Python expression "'view' in field.widget.modes and 'r' in field.mode and field.checkPermission('r',here)":1(<expression>)
    22063    0.670    0.000   34.400    0.002 Python expression "(context.amIOwner() or here.canIModerate()) and not no_edit_links":1(<expression>)
      168    0.000    0.000    0.050    0.000 Python expression "(len(request.traverse_subpath) > 0 and request.traverse_subpath[0]) or request.get('author', None)":1(<expression>)
     2310    0.040    0.000   20.090    0.009 Python expression "(not isAnon and not no_edit_links) or here.getTranslations()":1(<expression>)
    43212    0.470    0.000   34.060    0.001 Python expression "(not searchterm and topic_get_method) and (not here.id in ('drafts','published','my_blogposts','my_stories','recent')) or (here.id=='portfolio' and len(searchterm) < 2 and not filter)":1(<expression>)
    43914    0.190    0.000    0.190    0.000 Python expression "(over_limit and folderContents[:limit_display]) or folderContents":1(<expression>)
       24    0.000    0.000    0.030    0.001 Python expression "(today-1).Date()":1(<expression>)
       24    0.000    0.000    0.020    0.001 Python expression "(today-31).Date()":1(<expression>)
       24    0.000    0.000    0.010    0.000 Python expression "(today-7).Date()":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "(widget.populate and (edit_accessor or accessor)) or None":1(<expression>)
   125766    0.490    0.000    0.490    0.000 Python expression "0":0(<expression>)
     2268    0.010    0.000    0.290    0.000 Python expression "1 not in batch.navlist":1(<expression>)
     1048    0.010    0.000    0.010    0.000 Python expression "1":0(<expression>)
      582    0.000    0.000    0.070    0.000 Python expression "2 not in (batch.prevlist or batch.leapback)":1(<expression>)
    44392    0.180    0.000    0.180    0.000 Python expression "30":0(<expression>)
    40842    1.320    0.000   12.960    0.000 Python expression "Batch(results, b_size, int(b_start), orphan=1)":1(<expression>)
       24    0.000    0.000    0.040    0.002 Python expression "DateTime().earliestTime()":1(<expression>)
      133    0.000    0.000    0.180    0.001 Python expression "DateTime(context.getLength()).strftime('%M:%S')":1(<expression>)
    81516    1.370    0.000    1.980    0.000 Python expression "Iterator(pos=0)":1(<expression>)
    81511    1.410    0.000    1.990    0.000 Python expression "Iterator(pos=10000, mainSlot=False)":1(<expression>)
    45204    0.200    0.000    0.200    0.000 Python expression "None":1(<expression>)
     2766    0.000    0.000    0.000    0.000 Python expression "True":1(<expression>)
       24    0.000    0.000    0.000    0.000 Python expression "['Content', 'Activities', 'Tools']":1(<expression>)
        6    0.000    0.000    0.000    0.000 Python expression "['published','draft']":1(<expression>)
     1487    0.120    0.000    1.830    0.001 Python expression "[a['url'] for a in actions['user'] if a['id']=='join']":1(<expression>)
     1710    0.010    0.000    0.010    0.000 Python expression "[creator,]":1(<expression>)
     1779    0.000    0.000    0.000    0.000 Python expression "[messenger1,messenger2,messenger3]":1(<expression>)
   279990   18.860    0.000   97.280    0.000 Python expression "[x for x in searchterm.items() if x[0]!='filter']":1(<expression>)
    25774    0.350    0.000   43.800    0.002 Python expression "accessor()":1(<expression>)
   163024    2.310    0.000   27.430    0.000 Python expression "action['id'] not in ['undo','preferences','mystuff']":1(<expression>)
      799    0.000    0.000    0.000    0.000 Python expression "archive[0]":1(<expression>)
      799    0.010    0.000    0.030    0.000 Python expression "archive[1]":1(<expression>)
     1487    0.000    0.000    0.000    0.000 Python expression "auth":1(<expression>)
      162    0.010    0.000    0.010    0.000 Python expression "authorinfo['fullname'] or author":1(<expression>)
    40842    0.650    0.000   14.440    0.000 Python expression "batch.next or  batch.previous":1(<expression>)
     1992    0.030    0.000    3.360    0.002 Python expression "batch.nexturls(request.form)":1(<expression>)
      744    0.000    0.000    0.190    0.000 Python expression "batch.numpages - 1 not in (batch.nextlist or batch.leapforward)":1(<expression>)
     2268    0.050    0.000    0.490    0.000 Python expression "batch.numpages not in batch.navlist":1(<expression>)
     1326    0.010    0.000    2.080    0.002 Python expression "batch.prevurls(request.form)":1(<expression>)
       91    0.010    0.000    0.480    0.005 Python expression "blogobj.widget('links',mode='view')":1(<expression>)
     8358    0.060    0.000    0.060    0.000 Python expression "bottomLevel <= 0 or level < bottomLevel-1":1(<expression>)
      140    0.000    0.000    0.000    0.000 Python expression "chapter[:3]":1(<expression>)
    83101    2.050    0.000   64.900    0.001 Python expression "checkPermission("Copy or Move", object) and not globals_view.isPortalOrPortalDefaultPage()":1(<expression>)
        1    0.000    0.000    0.010    0.010 Python expression "checkPermission("Delete objects", globals_view.getParentObject()) and checkPermission("Copy or Move", object) and not globals_view.isPortalOrPortalDefaultPage()":1(<expression>)
        1    0.000    0.000    0.000    0.000 Python expression "checkPermission("Delete objects", globals_view.getParentObject()) and not globals_view.isPortalOrPortalDefaultPage()":1(<expression>)
    83101    1.020    0.000   61.880    0.001 Python expression "checkPermission("Delete objects", object)":1(<expression>)
    83101    1.420    0.000  106.700    0.001 Python expression "checkPermission("Modify portal content", object) or checkPermission("Review portal content", object)":1(<expression>)
     1487    0.010    0.000    0.790    0.001 Python expression "checkPermission('Mail forgotten password', here)":1(<expression>)
       31    0.000    0.000    0.050    0.002 Python expression "checkPermission('Manage portal', here)":1(<expression>)
    82828    1.070    0.000   63.540    0.001 Python expression "checkPermission('Reply to item', here)":1(<expression>)
       12    0.000    0.000    0.000    0.000 Python expression "checkPermission('View Groups', portal)":1(<expression>)
    22063    0.050    0.000    0.050    0.000 Python expression "colls or not isAnon and not no_edit_links":1(<expression>)
       30    0.000    0.000    0.010    0.000 Python expression "container.portal_properties":1(<expression>)
     1680    0.030    0.000    0.030    0.000 Python expression "content_n>0 or collections_n>0 or stories_n>0":1(<expression>)
    43212    1.040    0.000 1224.810    0.028 Python expression "contentsMethod()":1(<expression>)
    10008    0.180    0.000   10.960    0.001 Python expression "context.absolute_url()":1(<expression>)
   326044    7.980    0.000  239.370    0.001 Python expression "context.absolute_url().find('collections')==-1":1(<expression>)
      470    0.010    0.000    1.550    0.003 Python expression "context.amIOwner() or here.canIModerate() and not no_edit_links":1(<expression>)
    43216    1.270    0.000   50.000    0.001 Python expression "context.aq_inner.aq_parent.title_or_id().lower()":1(<expression>)
    22063    1.040    0.000  353.580    0.016 Python expression "context.community.getCollections(obj_uid=context.UID())":1(<expression>)
     2070    0.060    0.000    4.860    0.002 Python expression "context.getCollections(request.get('obj_id', None))":1(<expression>)
    79704    1.440    0.000   26.540    0.000 Python expression "context.getId()=='recent'":1(<expression>)
      114    0.000    0.000    0.060    0.001 Python expression "context.getTemplate('PILOTMaterial').get('fields')":1(<expression>)
     2430    0.030    0.000    1.440    0.001 Python expression "context.getTemplate('multimediapage').get('fields')":1(<expression>)
      606    0.020    0.000    0.360    0.001 Python expression "context.getTemplate('presentation').get('fields')":1(<expression>)
    81511    0.620    0.000   21.290    0.000 Python expression "context.lemill_tool":1(<expression>)
     6927    0.350    0.000   58.570    0.008 Python expression "context.lemill_usertool.getGroupsList(context.getMemberId())":1(<expression>)
     6927    0.100    0.000    4.360    0.001 Python expression "context.lemill_usertool.getGroupsList(logged_id)":1(<expression>)
       13    0.000    0.000    0.030    0.002 Python expression "context.lemill_usertool.getGroupsList(user.getId())":1(<expression>)
     6927    0.210    0.000   26.640    0.004 Python expression "context.lemill_usertool.giveSortedListOfContacts()":1(<expression>)
     2231    0.030    0.000    7.520    0.003 Python expression "context.portal_groups.getGroupareaFolder(groupid)":1(<expression>)
     6807    0.390    0.000  214.000    0.031 Python expression "context.queryCatalog(use_types_blacklist=True)[start:end]":1(<expression>)
     6807    0.160    0.000   17.340    0.003 Python expression "context.rssAllowed(site=True)":1(<expression>)
    43212    0.870    0.000   34.090    0.001 Python expression "context.title_or_id().lower()":1(<expression>)
    22248    0.560    0.000 -4271.487   -0.192 Python expression "context.tools.getDefaultIcon(obj.meta_type, obj)":1(<expression>)
       26    0.000    0.000    0.150    0.006 Python expression "context.uid_catalog(UID=uid)":1(<expression>)
    24709    0.120    0.000    0.120    0.000 Python expression "creators and wf_state=='public'":1(<expression>)
      472    0.000    0.000    0.000    0.000 Python expression "err_type!='NotFound'":1(<expression>)
      472    0.000    0.000    0.000    0.000 Python expression "err_type=='NotFound'":1(<expression>)
     1487    0.050    0.000    0.250    0.000 Python expression "errors.get(ac_name, None)":1(<expression>)
     1487    0.040    0.000    0.260    0.000 Python expression "errors.get(ac_password, None)":1(<expression>)
    25784    0.380    0.000  131.140    0.005 Python expression "field.Vocabulary(here)":1(<expression>)
     5534    0.070    0.000    0.940    0.000 Python expression "field.getAccessor(here)":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "field.getEditAccessor(here)":1(<expression>)
       32    0.000    0.000   14.810    0.463 Python expression "field.getLength(here)":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "field.getLength(piece)":1(<expression>)
    92070    1.450    0.000   13.700    0.000 Python expression "field.getName() in visibleFields and field.getName() not in ['title']":1(<expression>)
     2678    0.070    0.000    7.470    0.003 Python expression "field.getObjectByUID(context, UID)":1(<expression>)
    10864    0.280    0.000   30.520    0.003 Python expression "field.getObjectByUID(context,UID)":1(<expression>)
     5534    0.220    0.000    1.460    0.000 Python expression "field.getType().split('.')[-1]":1(<expression>)
       14    0.000    0.000    0.000    0.000 Python expression "field.isAudioUID(UID)":1(<expression>)
      342    0.010    0.000    0.050    0.000 Python expression "field.isAudioUID(chapter)":1(<expression>)
       14    0.000    0.000    0.000    0.000 Python expression "field.isImageUID(UID)":1(<expression>)
      342    0.010    0.000    0.040    0.000 Python expression "field.isImageUID(chapter)":1(<expression>)
       39    0.000    0.000    0.010    0.000 Python expression "field.isKeywords(chapter) and not last":1(<expression>)
      564    0.000    0.000    0.100    0.000 Python expression "field.isKeywords(chapter) or (field.isQuestions(chapter) and not last)":1(<expression>)
      564    0.000    0.000    0.100    0.000 Python expression "field.isQuestions(chapter) and last":1(<expression>)
    31138    0.480    0.000    5.840    0.000 Python expression "field.isUid(chapter)":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "field.widget":1(<expression>)
     1856    0.060    0.000    4.990    0.003 Python expression "field.widget.Label(here)":1(<expression>)
     5534    0.070    0.000    1.280    0.000 Python expression "field.widget.isVisible(here, mode)":1(<expression>)
     5534    0.110    0.000    1.220    0.000 Python expression "field.widget.testCondition(here, portal, template)":1(<expression>)
    17160    0.130    0.000    0.130    0.000 Python expression "filter!='pieces'":1(<expression>)
    19032    0.050    0.000    0.050    0.000 Python expression "filter!='references'":1(<expression>)
    19032    0.050    0.000    0.050    0.000 Python expression "filter!='resources'":1(<expression>)
     5148    0.070    0.000    0.350    0.000 Python expression "filter.capitalize()":1(<expression>)
    17160    0.100    0.000    0.100    0.000 Python expression "filter=='pieces'":1(<expression>)
    19032    0.070    0.000    0.070    0.000 Python expression "filter=='references'":1(<expression>)
    19032    0.060    0.000    0.060    0.000 Python expression "filter=='resources'":1(<expression>)
     3804    0.010    0.000    0.010    0.000 Python expression "folderish and fl_macro":1(<expression>)
   279990    2.740    0.000   52.250    0.000 Python expression "frc[typename]":1(<expression>)
        6    0.000    0.000    0.020    0.003 Python expression "getIconFor('plone', daction['id'], None)":1(<expression>)
   163024    5.380    0.000   82.280    0.001 Python expression "getIconFor(action['category'], action['id'], None)":1(<expression>)
     5539    0.040    0.000    3.700    0.001 Python expression "getMethod and getMethod()":1(<expression>)
     1344    0.050    0.000    0.190    0.000 Python expression "getTypeInfo(content_type_) or None":1(<expression>)
     1493    0.110    0.000    5.730    0.004 Python expression "gtool.getGroupareaFolder(str(edit_group)).TitleOrId()":1(<expression>)
    18663    0.170    0.000    6.720    0.000 Python expression "hasattr(context, 'getMemberFolder')":1(<expression>)
    24709    0.300    0.000    3.900    0.000 Python expression "hasattr(target, 'wl_isLocked')":1(<expression>)
      269    0.040    0.000    0.660    0.002 Python expression "here.Schema().filterFields(isMetadata=0)":1(<expression>)
    51848    1.430    0.000  303.490    0.006 Python expression "here.Schema().viewableFields(here)":1(<expression>)
     1159    0.030    0.000    0.740    0.001 Python expression "here.amIManager()":1(<expression>)
     2055    0.050    0.000    0.540    0.000 Python expression "here.amIMaterial() and not no_edit_links":1(<expression>)
     1159    0.030    0.000    0.900    0.001 Python expression "here.amIOwner()":1(<expression>)
    43216    1.090    0.000  282.530    0.007 Python expression "here.analyzeRequest(request)":1(<expression>)
      168    0.010    0.000   12.390    0.074 Python expression "here.author_find_content(author)":1(<expression>)
      114    0.000    0.000    5.780    0.051 Python expression "here.buildXML(only_validate=True)":1(<expression>)
     1159    0.020    0.000    0.570    0.000 Python expression "here.canIModerate() or isManager":1(<expression>)
    20303    0.420    0.000  126.040    0.006 Python expression "here.computeRelatedItems()":1(<expression>)
       72    0.000    0.000    0.680    0.009 Python expression "here.computeStoryRelatedItems(what)":1(<expression>)
       12    0.000    0.000    0.420    0.035 Python expression "here.createMultiColumnList(allTypes, numCols=2, sort_on='self')":1(<expression>)
       12    0.000    0.000    0.020    0.002 Python expression "here.createMultiColumnList(states, numCols=1, sort_on='self')":1(<expression>)
    43212    0.560    0.000   42.870    0.001 Python expression "here.crit__Type_ATPortalTypeCriterion.value":1(<expression>)
    10884    0.370    0.000   19.100    0.002 Python expression "here.cropText(result.Description, desc_length, desc_ellipsis)":1(<expression>)
    25774    0.660    0.000  188.880    0.007 Python expression "here.displayValue(vocab, value)":1(<expression>)
    83101    2.480    0.000  144.720    0.002 Python expression "here.enableHTTPCompression(request=request, debug=0)":1(<expression>)
    43212    0.860    0.000   54.520    0.001 Python expression "here.filterContent(results, filter)":1(<expression>)
    31110   16.630    0.001 1021.390    0.033 Python expression "here.fullResultCount(request, topic_name, topic_get_method, request_opened)":1(<expression>)
    43212    0.760    0.000   48.520    0.001 Python expression "here.getBrowsedStuff(here.id)":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "here.getField('bodyText')":1(<expression>)
       66    0.000    0.000    0.080    0.001 Python expression "here.getFolderContents":1(<expression>)
      636    0.010    0.000   15.310    0.024 Python expression "here.getFolderFiltered(contentFilter)":1(<expression>)
     3420    0.100    0.000   19.900    0.006 Python expression "here.getHistoryEntries()[:]":1(<expression>)
    81511    1.840    0.000  351.790    0.004 Python expression "here.getOrderedUserActions(keyed_actions=keyed_actions)":1(<expression>)
    73431    2.520    0.000   18.660    0.000 Python expression "here.getPortalTypeName().lower().replace(' ', '_')":1(<expression>)
    72171    1.410    0.000  299.760    0.004 Python expression "here.getReplyReplies(here)":1(<expression>)
      384    0.010    0.000    7.770    0.020 Python expression "here.getResources()":1(<expression>)
     1680    0.050    0.000   48.790    0.029 Python expression "here.getResources(True, request, 'Activity')":1(<expression>)
     1680    0.050    0.000   50.390    0.030 Python expression "here.getResources(True, request, 'Tool')":1(<expression>)
     1680    0.070    0.000   51.820    0.031 Python expression "here.getResources(True, request, context.getContentTypes())":1(<expression>)
     1779    0.100    0.000   56.920    0.032 Python expression "here.getResources(True, request, context.getFeaturedTypes())":1(<expression>)
       51    0.000    0.000    2.340    0.046 Python expression "here.getSamples(search_results)":1(<expression>)
       12    0.000    0.000    0.160    0.013 Python expression "here.getSearchObject(portal_type='Activity')":1(<expression>)
       13    0.000    0.000    0.120    0.009 Python expression "here.getSearchObject(portal_type='GroupBlog')":1(<expression>)
       13    0.000    0.000    0.170    0.013 Python expression "here.getSearchObject(portal_type='MemberFolder')":1(<expression>)
       14    0.000    0.000    0.340    0.024 Python expression "here.getSearchObject(portal_type='Piece')":1(<expression>)
       12    0.000    0.000    0.140    0.012 Python expression "here.getSearchObject(portal_type='Tool')":1(<expression>)
       14    0.000    0.000    0.200    0.014 Python expression "here.getSearchObject(portal_type=context.getMaterialTypes())":1(<expression>)
     6072    0.060    0.000    2.070    0.000 Python expression "here.getTimeForOldHistory(showOldVersionMessage)":1(<expression>)
       13    0.000    0.000    0.010    0.001 Python expression "here.getTopResults(group_results, 'getLanguage_skills')":1(<expression>)
       13    0.000    0.000    0.050    0.004 Python expression "here.getTopResults(group_results, 'getTags')":1(<expression>)
       14    0.000    0.000    0.110    0.008 Python expression "here.getTopResults(material_results, 'getSubject_area')":1(<expression>)
       14    0.000    0.000    0.100    0.007 Python expression "here.getTopResults(material_results, 'getTarget_group')":1(<expression>)
       13    0.000    0.000    0.230    0.018 Python expression "here.getTopResults(people_results, 'getInterests')":1(<expression>)
       13    0.000    0.000    0.250    0.019 Python expression "here.getTopResults(people_results, 'getLanguage_skills')":1(<expression>)
       13    0.000    0.000    0.140    0.011 Python expression "here.getTopResults(people_results, 'getLocation_country')":1(<expression>)
       13    0.000    0.000    0.180    0.014 Python expression "here.getTopResults(people_results, 'getSkills')":1(<expression>)
       38    0.000    0.000    0.530    0.014 Python expression "here.getTopResults(search_results, 'Language')":1(<expression>)
       38    0.000    0.000    0.670    0.018 Python expression "here.getTopResults(search_results, 'getTags')":1(<expression>)
    24349    0.580    0.000  250.880    0.010 Python expression "here.getUniqueWidgetAttr(fields, 'helper_css')":1(<expression>)
    24349    0.550    0.000  253.820    0.010 Python expression "here.getUniqueWidgetAttr(fields, 'helper_js')":1(<expression>)
     3510    0.300    0.000   51.490    0.015 Python expression "here.getUniques(results, topic_get_method, tagcloud_type)":1(<expression>)
    43212    1.000    0.000   53.330    0.001 Python expression "here.getUrlInsideMemberFolder(insideMemberFolder, here.id, here_url)":1(<expression>)
      690    0.010    0.000    0.650    0.001 Python expression "here.getVideo().size":1(<expression>)
    43212    0.560    0.000   39.410    0.001 Python expression "here.id not in ('drafts','published','portfolio') or (here.id=='portfolio' and len(searchterm)>1)":1(<expression>)
    43212    0.390    0.000   35.640    0.001 Python expression "here.id=='drafts'":1(<expression>)
    43212    0.420    0.000   31.270    0.001 Python expression "here.id=='portfolio' and filter":1(<expression>)
    43212    0.460    0.000   32.440    0.001 Python expression "here.id=='portfolio' and not filter and searchterm.keys()==['Creator']":1(<expression>)
    43212    0.340    0.000   31.970    0.001 Python expression "here.id=='published'":1(<expression>)
     1159    0.000    0.000    1.720    0.001 Python expression "here.interpritArchDates()":1(<expression>)
     1159    0.030    0.000   21.000    0.018 Python expression "here.isMember(member.id)":1(<expression>)
    18774    0.410    0.000   41.630    0.002 Python expression "here.lemill_tool.render(accessor())":1(<expression>)
      192    0.000    0.000    0.350    0.002 Python expression "here.lemill_tool.render(biography)":1(<expression>)
      468    0.030    0.000    1.720    0.004 Python expression "here.lookupMime(field.getContentType(here))":1(<expression>)
    24325    0.260    0.000    5.500    0.000 Python expression "here.meta_type in ('MultimediaMaterial', 'PILOTMaterial', 'PresentationMaterial')":1(<expression>)
    28227    0.180    0.000    5.990    0.000 Python expression "here.meta_type":1(<expression>)
    83737    2.110    0.000  642.150    0.008 Python expression "here.navigationParent(here, template_id)":1(<expression>)
        6    0.000    0.000    0.000    0.000 Python expression "here.portal_catalog.uniqueValuesFor('Subject')":1(<expression>)
    83101    1.860    0.000 2271.560    0.027 Python expression "here.portal_css.getEvaluatedResources(here)":1(<expression>)
    83101    2.330    0.000 1833.560    0.022 Python expression "here.portal_javascripts.getEvaluatedResources(here)":1(<expression>)
    43212    0.710    0.000 -4198.187   -0.097 Python expression "here.public_getSortCriterion(here)":1(<expression>)
     1176    0.010    0.000  101.160    0.086 Python expression "here.queryCatalog(REQUEST=request,use_types_blacklist=use_types_blacklist)":1(<expression>)
    43842    1.150    0.000 3078.320    0.070 Python expression "here.script_getPrettyLanguage(lang)":1(<expression>)
    97800    2.550    0.000 2522.713    0.026 Python expression "here.script_getPrettyLanguage(languagename)":1(<expression>)
      192    0.000    0.000   14.990    0.078 Python expression "here.script_getPrettyLanguage(result)":1(<expression>)
      112    0.000    0.000    7.740    0.069 Python expression "here.script_getPrettyLanguage(translation_of.Language())":1(<expression>)
    81511    2.190    0.000  499.900    0.006 Python expression "here.selectedTabs('index_html', here, portal_tabs)":1(<expression>)
       66    0.010    0.000    0.060    0.001 Python expression "here.sortedBlogListing(request)":1(<expression>)
    43212    0.540    0.000   13.160    0.000 Python expression "here.tagcloud_type(topic_name)":1(<expression>)
        2    0.000    0.000    0.290    0.145 Python expression "here.translate('text_form_modified_message', default='Your form has not been saved. All changes you have made will be lost.', escape_for_js=True)":1(<expression>)
        2    0.000    0.000    0.010    0.005 Python expression "here.translate('text_form_resubmit_message', default='Your already clicked the submit button. Do you really want to submit this form again?', escape_for_js=True)":1(<expression>)
    43212    0.720    0.000  326.650    0.008 Python expression "here.whatResourceWhereDictionary()":1(<expression>)
      682    0.030    0.000    2.230    0.003 Python expression "here.widget('address',mode='view')":1(<expression>)
     1757    0.010    0.000    6.150    0.004 Python expression "here.widget('bodyText',mode='view')":1(<expression>)
    18546    0.390    0.000   59.570    0.003 Python expression "here.widget('description', mode='view')":1(<expression>)
      431    0.000    0.000    1.840    0.004 Python expression "here.widget('file',mode='view')":1(<expression>)
     1438    0.050    0.000    6.260    0.004 Python expression "here.widget('language',mode='view')":1(<expression>)
    23519    0.490    0.000   76.030    0.003 Python expression "here.widget('rights',mode='view')":1(<expression>)
    19984    0.390    0.000   65.500    0.003 Python expression "here.widget('tags',mode='view')":1(<expression>)
     3984    0.150    0.000   19.180    0.005 Python expression "here.widget(field.getName(), mode='view')":1(<expression>)
     1726    0.090    0.000    7.540    0.004 Python expression "here.widget(field.getName(), mode=mode, use_label=1)":1(<expression>)
        8    0.000    0.000    0.000    0.000 Python expression "index!=0 and index!=len(value)-3":1(<expression>)
        8    0.000    0.000    0.000    0.000 Python expression "index!=len(value)-3 and index!=len(value)-6":1(<expression>)
        8    0.000    0.000    0.000    0.000 Python expression "index!=len(value)-3":1(<expression>)
       24    0.000    0.000    0.000    0.000 Python expression "index%3==0":1(<expression>)
       39    0.000    0.000    0.000    0.000 Python expression "index<edit_chapter or index>edit_chapter+2":1(<expression>)
       39    0.000    0.000    0.000    0.000 Python expression "index>=edit_chapter and index<edit_chapter+3":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "int(edit_chapter)":1(<expression>)
       39    0.000    0.000    0.000    0.000 Python expression "int(index)":1(<expression>)
      564    0.030    0.000    0.030    0.000 Python expression "int(index)%3==0":1(<expression>)
     6807    0.160    0.000    3.570    0.001 Python expression "int(request.get('b_end', start+max_items))":1(<expression>)
     6807    0.100    0.000    1.790    0.000 Python expression "int(request.get('b_start', 0))":1(<expression>)
    72171    0.320    0.000    0.320    0.000 Python expression "isAnon and not userHasReplyPermission and isDiscussionAllowed":1(<expression>)
     1159    0.010    0.000    0.340    0.000 Python expression "isPost and member.id==here.Creator()":1(<expression>)
    25483    0.090    0.000    0.090    0.000 Python expression "is_History or is_Translation or is_Version":1(<expression>)
     8358    0.050    0.000    1.940    0.000 Python expression "item.getRemoteUrl and item.Creator != member_id":1(<expression>)
     8358    0.060    0.000    1.690    0.000 Python expression "item.portal_type in viewActions":1(<expression>)
      160    0.000    0.000    0.000    0.000 Python expression "item==''":1(<expression>)
      376    0.000    0.000    0.000    0.000 Python expression "item=='missing'":1(<expression>)
      306    0.030    0.000    1.210    0.004 Python expression "item_actual.widget('bodyText',mode='view')":1(<expression>)
      306    0.000    0.000    0.000    0.000 Python expression "item_comments!=1":1(<expression>)
      306    0.000    0.000    0.000    0.000 Python expression "item_comments==1":1(<expression>)
       78    0.000    0.000    0.010    0.000 Python expression "item_description.endswith('--More--')":1(<expression>)
       78    0.000    0.000    0.000    0.000 Python expression "item_description[:500]":1(<expression>)
      384    0.000    0.000    0.000    0.000 Python expression "item_wf_state!='hidden' or item.Creator==member.id":1(<expression>)
     1487    0.010    0.000    0.720    0.000 Python expression "join and checkPermission('Add portal member', here)":1(<expression>)
     1487    0.060    0.000    0.860    0.001 Python expression "join+test(join.find('?')==-1, '?', '&')+ztu.make_query(came_from=came_from)":1(<expression>)
     1487    0.040    0.000    0.270    0.000 Python expression "join.pop()":1(<expression>)
     1815    0.020    0.000    0.080    0.000 Python expression "keyval[0]":1(<expression>)
     1815    0.020    0.000    0.060    0.000 Python expression "keyval[1]":1(<expression>)
     1958    0.020    0.000    0.020    0.000 Python expression "len(archives) != 0":1(<expression>)
     2070    0.030    0.000    0.040    0.000 Python expression "len(collections)":1(<expression>)
      682    0.000    0.000    8.650    0.013 Python expression "len(context.getTranslations())":1(<expression>)
       12    0.000    0.000    0.000    0.000 Python expression "len(creators) <= 30":1(<expression>)
       12    0.000    0.000    0.000    0.000 Python expression "len(creators) > 30":1(<expression>)
     1159    0.010    0.000    0.030    0.000 Python expression "len(groupmembers)":1(<expression>)
     3459    0.110    0.000    9.490    0.003 Python expression "len(here.getCollections())":1(<expression>)
      306    0.000    0.000    2.470    0.008 Python expression "len(here.getReplyReplies(item_actual))":1(<expression>)
     3374    0.080    0.000    9.240    0.003 Python expression "len(here.getStories())":1(<expression>)
    40776    0.350    0.000    1.200    0.000 Python expression "len(object_list) > 0":1(<expression>)
    40842    0.420    0.000    0.880    0.000 Python expression "len(results)":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "len(value)":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "len(vocab)":1(<expression>)
     8358    0.060    0.000    0.060    0.000 Python expression "level+1":1(<expression>)
    43914    0.190    0.000    0.190    0.000 Python expression "limit_display and len(folderContents) > limit_display":1(<expression>)
     7896    0.060    0.000    0.940    0.000 Python expression "linklist[0]":1(<expression>)
     7896    0.170    0.000    0.400    0.000 Python expression "linklist[1]":1(<expression>)
      121    0.000    0.000    0.000    0.000 Python expression "linky[0]":1(<expression>)
      121    0.000    0.000    0.000    0.000 Python expression "linky[1]":1(<expression>)
      141    0.010    0.000   25.590    0.181 Python expression "list(syn.getSyndicatableContent(here))":1(<expression>)
     1680    0.010    0.000    0.010    0.000 Python expression "location_country and location_country!='No country specified'":1(<expression>)
    24709    0.430    0.000    4.490    0.000 Python expression "lockable and target.wl_isLocked()":1(<expression>)
    81511    1.390    0.000   23.690    0.000 Python expression "ltool.testLinkParameters(request)":1(<expression>)
    83101    0.320    0.000    1.620    0.000 Python expression "member and portal.portal_membership.getHomeFolder()":1(<expression>)
      168    0.000    0.000    0.050    0.000 Python expression "member.getUserName()==author":1(<expression>)
     1779    0.020    0.000    0.470    0.000 Python expression "member.getUserName()==thismember":1(<expression>)
     1997    0.020    0.000    0.090    0.000 Python expression "memberdata[0]":1(<expression>)
     1997    0.000    0.000    0.030    0.000 Python expression "memberdata[1]":1(<expression>)
     1997    0.020    0.000    0.060    0.000 Python expression "memberdata[2]":1(<expression>)
    67565    0.940    0.000   27.430    0.000 Python expression "modules['DateTime'].DateTime":1(<expression>)
    44392    0.660    0.000   26.590    0.001 Python expression "modules['Products.CMFPlone'].Batch":1(<expression>)
    81511    1.440    0.000   47.380    0.001 Python expression "modules['Products.CMFPlone'].IndexIterator":1(<expression>)
    40842    0.700    0.000   17.230    0.000 Python expression "modules['ZTUtils'].make_query":1(<expression>)
     6927    0.110    0.000    2.740    0.000 Python expression "mtool.getAuthenticatedMember().getId()":1(<expression>)
    77610    1.490    0.000   41.020    0.001 Python expression "mtool.getHomeFolder(author)":1(<expression>)
    77610    2.210    0.000 1967.430    0.025 Python expression "mtool.getHomeFolder(author).NiceName()":1(<expression>)
    79704    1.330    0.000   36.260    0.000 Python expression "mtool.getHomeFolder(creator)":1(<expression>)
      168    0.000    0.000    0.080    0.000 Python expression "mtool.getHomeFolder(id=author)":1(<expression>)
      162    0.000    0.000    0.210    0.001 Python expression "mtool.getHomeFolder(id=author).absolute_url()":1(<expression>)
       19    0.000    0.000    0.010    0.001 Python expression "mtool.getHomeFolder(poster)":1(<expression>)
       26    0.000    0.000    0.000    0.000 Python expression "mtool.getHomeFolder(posterid)":1(<expression>)
     1779    0.020    0.000    1.020    0.001 Python expression "mtool.getHomeFolder(thismember)":1(<expression>)
      168    0.020    0.000    2.780    0.017 Python expression "mtool.getMemberInfo(author)":1(<expression>)
     1779    0.020    0.000   21.310    0.012 Python expression "mtool.getMemberInfo(thismember)":1(<expression>)
      168    0.020    0.000    0.320    0.002 Python expression "mtool.getPersonalPortrait(author)":1(<expression>)
    16131    0.590    0.000   16.200    0.001 Python expression "mtool.getPersonalPortrait(memberobj.getId())":1(<expression>)
     1779    0.030    0.000    1.060    0.001 Python expression "mtool.getPersonalPortrait(thismember)":1(<expression>)
       12    0.000    0.000    0.000    0.000 Python expression "mtool.getPortalRoles()":1(<expression>)
     1159    0.010    0.000    0.010    0.000 Python expression "n_mem<400":1(<expression>)
     1159    0.000    0.000    0.000    0.000 Python expression "n_mem>399":1(<expression>)
       12    0.000    0.000    0.010    0.001 Python expression "normalizeString(state)":1(<expression>)
       84    0.000    0.000    0.030    0.000 Python expression "normalizeString(state[1])":1(<expression>)
    25483    0.150    0.000    0.150    0.000 Python expression "not (is_History or is_Version or is_Translation)":1(<expression>)
     1487    0.040    0.000    0.050    0.000 Python expression "not auth":1(<expression>)
     6927    0.040    0.000    0.040    0.000 Python expression "not isAnon and context.getMemberId()!=logged_id":1(<expression>)
     2383    0.010    0.000    0.010    0.000 Python expression "not isAnon and not no_edit_links":1(<expression>)
      702    0.020    0.000    0.190    0.000 Python expression "not isAnon or site_properties.allowAnonymousViewAbout":1(<expression>)
     1159    0.000    0.000    0.000    0.000 Python expression "not isMember and not isAnon":1(<expression>)
      168    0.010    0.000    0.050    0.000 Python expression "not mtool.getHomeFolder(id=author) and authorinfo['home_page']":1(<expression>)
    39666    0.260    0.000    0.260    0.000 Python expression "not topic_name in ('draft','recent changes','portfolio','published')":1(<expression>)
    21745    0.080    0.000    0.080    0.000 Python expression "not(isAnon) and context.meta_type in context.getAllContentTypes() and related":1(<expression>)
    79704    0.790    0.000   17.910    0.000 Python expression "obj.meta_type":1(<expression>)
   121608    3.240    0.000   35.630    0.000 Python expression "obj.portal_type.lower().replace(' ', '_')":1(<expression>)
    22570    0.530    0.000   21.090    0.001 Python expression "obj_item.modified().HTML4()":1(<expression>)
   121608    0.620    0.000    0.620    0.000 Python expression "obj_type!='groupblog' and obj_type!='memberfolder'":1(<expression>)
   121608    0.650    0.000    0.650    0.000 Python expression "obj_type=='groupblog'":1(<expression>)
   121608    0.600    0.000    0.600    0.000 Python expression "obj_type=='memberfolder'":1(<expression>)
     6948    0.100    0.000    0.170    0.000 Python expression "objectList[:max]":1(<expression>)
    13896    0.080    0.000    0.080    0.000 Python expression "objects":1(<expression>)
    43212    0.340    0.000    0.340    0.000 Python expression "parent_folder=='content' or filter in ('pieces','references','resources')":1(<expression>)
   103256    1.540    0.000  342.440    0.003 Python expression "path(pathexpr)":1(<expression>)
    25953    0.140    0.000    0.140    0.000 Python expression "path_end=='history_view'":1(<expression>)
    25953    0.100    0.000    0.100    0.000 Python expression "path_end=='show_translations'":1(<expression>)
       13    0.000    0.000    0.000    0.000 Python expression "people_results+group_results":1(<expression>)
       14    0.000    0.000    0.000    0.000 Python expression "piece_results+material_results":1(<expression>)
    24709    0.620    0.000  106.470    0.004 Python expression "portal.isExpired(target)":1(<expression>)
   166202    4.850    0.000  120.860    0.001 Python expression "portal.kupu_library_tool.isKupuEnabled(REQUEST=request)":1(<expression>)
       12    0.000    0.000    0.080    0.007 Python expression "portal.portal_catalog.uniqueValuesFor('Creator')":1(<expression>)
    83101    1.780    0.000   40.310    0.000 Python expression "portal.portal_syndication.isSyndicationAllowed(object)":1(<expression>)
    82828    1.340    0.000   33.580    0.000 Python expression "portal_discussion.isDiscussionAllowedFor(here)":1(<expression>)
      246    0.000    0.000    0.100    0.000 Python expression "portal_types.getTypeInfo(type).Title()":1(<expression>)
       26    0.000    0.000    0.430    0.017 Python expression "post.widget('bodyText',mode='view')":1(<expression>)
       26    0.000    0.000    0.220    0.008 Python expression "post[0].getObject()":1(<expression>)
       30    0.000    0.000    0.010    0.000 Python expression "props.email_from_name":1(<expression>)
   166202    2.520    0.000   36.800    0.000 Python expression "pss.url_quote(current_skin)":1(<expression>)
        6    0.000    0.000    0.050    0.008 Python expression "putils.getUserFriendlyTypes()":1(<expression>)
    83101    2.290    0.000   74.500    0.001 Python expression "putils.listMetaTags(here).items()":1(<expression>)
    81348    1.300    0.000   44.920    0.001 Python expression "putils.showPortalMessages()":1(<expression>)
    20375    0.090    0.000    0.090    0.000 Python expression "related":1(<expression>)
   332406    1.480    0.000    1.480    0.000 Python expression "render == 'import'":1(<expression>)
   332406    1.330    0.000    1.330    0.000 Python expression "render == 'inline'":1(<expression>)
   332406    1.340    0.000    1.340    0.000 Python expression "render == 'link'":1(<expression>)
       19    0.000    0.000    0.000    0.000 Python expression "reply_dict['object']":1(<expression>)
    83101    1.610    0.000   30.890    0.000 Python expression "request.RESPONSE.setHeader('Content-Language', lang)":1(<expression>)
    83101    1.630    0.000   29.540    0.000 Python expression "request.RESPONSE.setHeader('Expires', 'Sat, 1 Jan 2000 00:00:00 GMT')":1(<expression>)
     2445    0.020    0.000    0.790    0.000 Python expression "request.SESSION.get('keep_in_section')":1(<expression>)
        5    0.000    0.000    0.000    0.000 Python expression "request.get('engineer')":1(<expression>)
    24733    0.550    0.000    5.410    0.000 Python expression "request.get('errors', {})":1(<expression>)
     1487    0.040    0.000    0.580    0.000 Python expression "request.get('login_name', request.get(ac_name, ''))":1(<expression>)
     6807    0.090    0.000    1.450    0.000 Python expression "request.get('sort_on', None) and request.set('sort_order', 'reverse')":1(<expression>)
    25483    0.440    0.000    5.230    0.000 Python expression "request.get('version')":1(<expression>)
    83101    2.720    0.000   57.810    0.001 Python expression "request.get(here.portal_skins.getRequestVarname(), '')":1(<expression>)
    81511    3.360    0.000  242.880    0.003 Python expression "request.has_key('SESSION') and context.absolute_url().find('collections')!=-1":1(<expression>)
   326044    9.890    0.000  164.990    0.001 Python expression "request.has_key('SESSION') and request.SESSION.has_key('keep_in_section') and context.absolute_url().find('collections')!=-1":1(<expression>)
    50354    0.900    0.000   13.940    0.000 Python expression "request.set('disable_border',1)":1(<expression>)
     6807    0.180    0.000    3.750    0.001 Python expression "request.set('sort_on', request.get('sort_on', 'effective'))":1(<expression>)
   279990    1.130    0.000    1.130    0.000 Python expression "results_n>0":1(<expression>)
   121608    0.720    0.000    0.720    0.000 Python expression "review_state != 'draft'":1(<expression>)
    80484    2.270    0.000   10.940    0.000 Python expression "searchterm_nice[si[0]].lower()":1(<expression>)
    49034    0.400    0.000    9.690    0.000 Python expression "site_properties.allowAnonymousViewAbout or not isAnon":1(<expression>)
      817    0.000    0.000    0.000    0.000 Python expression "size > 0":1(<expression>)
   103256    1.190    0.000    4.340    0.000 Python expression "slot[0]":1(<expression>)
   103256    0.870    0.000   14.790    0.000 Python expression "slot[1]":1(<expression>)
       42    0.000    0.000    0.000    0.000 Python expression "state[0] or state[1]":1(<expression>)
       42    0.000    0.000    0.000    0.000 Python expression "state[1]":1(<expression>)
      384    0.030    0.000    0.330    0.001 Python expression "str(member)!=str(here.Creator())":1(<expression>)
      384    0.010    0.000    0.390    0.001 Python expression "str(member)==str(here.Creator())":1(<expression>)
    83101    0.570    0.000    0.570    0.000 Python expression "stuff !=None":1(<expression>)
    79865    1.030    0.000    4.290    0.000 Python expression "stuff.find('section-activities') != -1":1(<expression>)
    79865    0.850    0.000    4.010    0.000 Python expression "stuff.find('section-community') != -1":1(<expression>)
    79865    1.000    0.000    4.590    0.000 Python expression "stuff.find('section-content') != -1":1(<expression>)
    79865    1.150    0.000    4.660    0.000 Python expression "stuff.find('section-tools') != -1":1(<expression>)
      141    0.000    0.000    0.060    0.000 Python expression "syn.getHTML4UpdateBase(context) or default":1(<expression>)
      141    0.010    0.000    0.090    0.001 Python expression "syn.getMaxItems(here)":1(<expression>)
      141    0.000    0.000    0.030    0.000 Python expression "syn.getUpdateFrequency(context) or default":1(<expression>)
      141    0.000    0.000    0.000    0.000 Python expression "syn.getUpdatePeriod(context) or default":1(<expression>)
    83101    1.280    0.000   18.270    0.000 Python expression "syntool.isSyndicationAllowed(here)":1(<expression>)
    34728    0.220    0.000    0.220    0.000 Python expression "tagcloud_type!='hits'":1(<expression>)
    34728    0.200    0.000    0.200    0.000 Python expression "tagcloud_type=='hits'":1(<expression>)
    84300    1.220    0.000    2.370    0.000 Python expression "tags[:20]":1(<expression>)
    49200    0.870    0.000   23.200    0.000 Python expression "target.getMember(creator)":1(<expression>)
    24709    0.210    0.000    5.100    0.000 Python expression "target.meta_type in ('GroupBlog','BlogPost')":1(<expression>)
    83101    0.420    0.000    0.420    0.000 Python expression "template_id==view_template_id":1(<expression>)
      140    0.000    0.000    0.020    0.000 Python expression "test(err_value and (err_value != err_message), 1, 0)":1(<expression>)
    12714    0.180    0.000    0.720    0.000 Python expression "test(error, 'field error', 'field')":1(<expression>)
    40842    1.080    0.000   10.420    0.000 Python expression "test(filter, request.form.update({'filter':filter}),'')":1(<expression>)
    43212    1.130    0.000   56.750    0.001 Python expression "test(here.portal_type=='Topic', here.queryCatalog, here.getFolderContents)":1(<expression>)
       15    0.000    0.000    0.000    0.000 Python expression "test(i>2, 'background-color: #ccffcc','')":1(<expression>)
   163021    1.760    0.000    6.190    0.000 Python expression "test(icon, 'visualIconPadding', nothing)":1(<expression>)
   163024    2.250    0.000    6.770    0.000 Python expression "test(icon, class_name, nothing)":1(<expression>)
     8358    0.160    0.000    0.380    0.000 Python expression "test(isCurrent, itemClass + ' navTreeCurrentItem', itemClass)":1(<expression>)
       26    0.000    0.000    0.000    0.000 Python expression "test(isLocked, 'disabled', None)":1(<expression>)
      168    0.000    0.000    0.010    0.000 Python expression "test(isOwner, 'documentEditable', '')":1(<expression>)
    83101    1.340    0.000    3.960    0.000 Python expression "test(isRTL, 'rtl', 'ltr')":1(<expression>)
       39    0.000    0.000    0.020    0.001 Python expression "test(keywords or questions, widget.merge_keywords(chapter), chapter)":1(<expression>)
     8358    0.140    0.000    1.940    0.000 Python expression "test(linkRemote, item.getRemoteUrl, itemUrl)":1(<expression>)
    20245    0.470    0.000    3.370    0.000 Python expression "test(link_pref, link_pref+tag, field.getName()+'?getTags='+tag)":1(<expression>)
    81511    0.960    0.000    3.280    0.000 Python expression "test(livesearch==True,'return liveSearchSubmit()','')":1(<expression>)
     1948    0.060    0.000    0.080    0.000 Python expression "test(mail_me, 'checked', None)":1(<expression>)
       66    0.000    0.000    0.020    0.000 Python expression "test(request.get('month'))":1(<expression>)
       66    0.010    0.000    0.020    0.000 Python expression "test(request.get('year'))":1(<expression>)
   316264    6.230    0.000   65.640    0.000 Python expression "test(selected_portal_tab==tab['id'], 'selected', 'plain')":1(<expression>)
     1779    0.010    0.000    0.070    0.000 Python expression "test(showoptions, 'documentEditable', '')":1(<expression>)
   121608    2.730    0.000   11.700    0.000 Python expression "test(suffix!=None, '='.join(('&filter',str(suffix))), '')":1(<expression>)
    33641    1.000    0.000   34.280    0.001 Python expression "test(tagcloud_type!='hits', obj_url, here.getTagURL(context,topic_get_method,tag_value,filter, insideMemberFolder))":1(<expression>)
   279990    3.410    0.000   11.810    0.000 Python expression "test(topic_name=='published', {'Creator':member}, searchterm)":1(<expression>)
     1487    0.090    0.000    1.120    0.001 Python expression "test(utool.isURLInPortal(came_from), came_from, None)":1(<expression>)
      892    0.030    0.000    8.090    0.009 Python expression "toLocalizedTime(item.Date)":1(<expression>)
       26    0.000    0.000    0.310    0.012 Python expression "toLocalizedTime(post_modified,long_format=1)":1(<expression>)
       19    0.000    0.000    0.140    0.007 Python expression "toLocalizedTime(reply.ModificationDate(),                                            long_format=1)":1(<expression>)
    10884    0.250    0.000  106.720    0.010 Python expression "toLocalizedTime(result.ModificationDate, long_format=1)":1(<expression>)
    24709    1.320    0.000  267.050    0.011 Python expression "toLocalizedTime(test(showCreationTime,target.CreationDate(),target.ModificationDate()),long_format=1)":1(<expression>)
     6834    0.060    0.000    0.060    0.000 Python expression "topic_name in ('content', 'pieces', 'references')":1(<expression>)
     6834    0.030    0.000    0.030    0.000 Python expression "topic_name in ('content','materials','pieces')":1(<expression>)
     6834    0.030    0.000    0.030    0.000 Python expression "topic_name in ('content','materials','references')":1(<expression>)
    22662    0.100    0.000    0.100    0.000 Python expression "topic_name in ('language','subject area','target group')":1(<expression>)
    22662    0.120    0.000    0.120    0.000 Python expression "topic_name in ('materials','content','pieces','references')":1(<expression>)
    22662    0.170    0.000    0.170    0.000 Python expression "topic_name in ('tags','content','portfolio') and filter in ('references','pieces','resources')":1(<expression>)
    43212    0.200    0.000    0.200    0.000 Python expression "topic_name in ('target group','subject area')":1(<expression>)
    60210    0.240    0.000    0.240    0.000 Python expression "topic_name!='published'":1(<expression>)
     6834    0.010    0.000    0.010    0.000 Python expression "topic_name=='materials'":1(<expression>)
     6834    0.040    0.000    0.040    0.000 Python expression "topic_name=='pieces'":1(<expression>)
    60210    0.250    0.000    0.250    0.000 Python expression "topic_name=='published'":1(<expression>)
     6834    0.030    0.000    0.030    0.000 Python expression "topic_name=='references'":1(<expression>)
      672    0.020    0.000    0.160    0.000 Python expression "type_title and type_title.Title() or content_type_ + ' is not available'":1(<expression>)
    72171    0.260    0.000    0.260    0.000 Python expression "userHasReplyPermission and isDiscussionAllowed and wf_state!='hidden'":1(<expression>)
    81511    2.050    0.000    3.740    0.000 Python expression "user_actions[:-1]+global_actions+user_actions[-1:]":1(<expression>)
      114    0.000    0.000    0.010    0.000 Python expression "valid_pilot[0]":1(<expression>)
      114    0.000    0.000    0.000    0.000 Python expression "valid_pilot[1]":1(<expression>)
      114    0.000    0.000    0.000    0.000 Python expression "valid_pilot[2]":1(<expression>)
      114    0.000    0.000    0.010    0.000 Python expression "valid_pilot[3]":1(<expression>)
    23519    0.090    0.000    0.090    0.000 Python expression "value!='CreativeCommons'":1(<expression>)
    23519    0.070    0.000    0.070    0.000 Python expression "value=='CreativeCommons'":1(<expression>)
    80484    1.370    0.000    5.550    0.000 Python expression "value_nice[si[0]]":1(<expression>)
     5534    0.000    0.000    0.000    0.000 Python expression "visState == 'visible' and visCondition and value":1(<expression>)
    25953    0.090    0.000    0.090    0.000 Python expression "wf_state!='deleted'":1(<expression>)
    50278    0.260    0.000    0.260    0.000 Python expression "wf_state=='deleted'":1(<expression>)
     3535    0.010    0.000    0.010    0.000 Python expression "wf_state=='draft'":1(<expression>)
      245    0.000    0.000    0.160    0.001 Python expression "wf_state=='public' and context.lemill_tool.portal_integration and context.meta_type in context.getMaterialTypes() and not no_edit_links":1(<expression>)
     3272    0.050    0.000    0.640    0.000 Python expression "wf_state=='public' and context.meta_type not in ['Piece', 'LeMillReference']":1(<expression>)
       10    0.000    0.000    0.000    0.000 Python expression "widget.format":1(<expression>)
        5    0.000    0.000    0.250    0.050 Python expression "widget.postback and request.get('bodyText', here.session_restore_value('bodyText', value)) or value":1(<expression>)
    33641    0.300    0.000    1.230    0.000 Python expression "wordinfo[0]":1(<expression>)
    33641    0.380    0.000    4.420    0.000 Python expression "wordinfo[1]":1(<expression>)
    33641    0.270    0.000    1.410    0.000 Python expression "wordinfo[2]":1(<expression>)
    33641    0.320    0.000    1.350    0.000 Python expression "wordinfo[3]":1(<expression>)
    33641    0.270    0.000    1.070    0.000 Python expression "wordinfo[4]":1(<expression>)
   279990    6.890    0.000   33.770    0.000 Python expression "wrw[typename][1].lower()":1(<expression>)
   279990    4.400    0.000   20.120    0.000 Python expression "wrw[typename][2]":1(<expression>)
   279990    4.550    0.000   20.040    0.000 Python expression "wrw[typename][3]":1(<expression>)
   279990    4.540    0.000   20.320    0.000 Python expression "wrw[typename][4]":1(<expression>)
    20327    0.210    0.000    2.860    0.000 Python expression "wtool.getInfoFor":1(<expression>)
       78    0.000    0.000    0.100    0.001 Python expression "wtool.getInfoFor(item, 'review_state', '')":1(<expression>)
    24709    0.490    0.000   27.310    0.001 Python expression "wtool.getInfoFor(target, 'review_state', '')":1(<expression>)
        6    0.000    0.000    0.130    0.022 Python expression "wtool.listWFStatesByTitle(filter_similar=1)":1(<expression>)
    72171    0.470    0.000    0.470    0.000 Python expression "{'rows':6, 'cols':40}":0(<expression>)
      636    0.000    0.000    0.000    0.000 Python expression "{'sort_on':'created', 'sort_order':'reverse', 'category':categoryfilter, 'batch':True}":1(<expression>)
       66    0.000    0.000    0.000    0.000 Python expression "{'sort_on':'created', 'sort_order':'reverse'}":0(<expression>)

PythonScripts?:

    10884    0.120    0.000    0.220    0.000 Script (Python):1(cropText)
        1    0.000    0.000    0.140    0.140 Script (Python):1(displayContentsTab)
    25774    1.760    0.000  151.360    0.006 Script (Python):1(displayValue)
    83737   15.660    0.000  494.610    0.006 Script (Python):1(navigationParent)
       12    0.000    0.000    6.820    0.568 Script (Python):1(index_html)
     1372    0.160    0.000   30.700    0.022 Script (Python):47(ensureFriendlyTypes)
      472    0.030    0.000  224.910    0.477 Script (Python):1(standard_error_message)
     3724    0.120    0.000    2.950    0.001 Script (Python):1(TitleOrId)
      415    0.070    0.000   34.840    0.084 Script (Python):1(at_download)
   147573   22.750    0.000 5493.843    0.037 Script (Python):1(availableLanguages)
    81511   24.960    0.000  216.240    0.003 Script (Python):1(getOrderedUserActions)
    20303    2.130    0.000   94.460    0.005 Script (Python):1(computeRelatedItems)
      676    0.000    0.000    0.050    0.000 Script (Python):1(sort_modified_ascending)
      168    0.170    0.001   11.720    0.070 Script (Python):1(author_find_content)
     2012    6.190    0.003  123.350    0.061 Script (Python):1(queryCatalog)
    83101    3.770    0.000  113.520    0.001 Script (Python):1(renderBase)
        1    0.000    0.000    0.000    0.000 Script (Python):5(ActionIconInfo)
        1    0.000    0.000    0.180    0.180 Script (Python):1(getActionIconList)
    24709    3.030    0.000   66.400    0.003 Script (Python):1(isExpired)
    83101    0.600    0.000    0.600    0.000 Script (Python):1(enableHTTPCompression)
       78    0.010    0.000    0.880    0.011 Script (Python):1(getSearchObject)
      118    0.000    0.000    0.000    0.000 Script (Python):1(<module>)
        1    0.000    0.000    0.000    0.000 Script (Python):1(front-page)
        1    0.000    0.000    3.950    3.950 Script (Python):1(getPortalTypeList)
       24    0.000    0.000    0.000    0.000 Script (Python):1(createMultiColumnList)
    53164    4.080    0.000   32.360    0.001 Script (Python):1(unicodeEncode)
        1    0.000    0.000    0.010    0.010 Script (Python):1(externalEditorEnabled)
    27355    0.820    0.000   30.260    0.001 Script (Python):1(pretty_title_or_id)
    48698   34.980    0.001  433.180    0.009 Script (Python):1(getUniqueWidgetAttr)
    46070    3.900    0.000  654.540    0.014 Script (Python):1(find_related_stories)
     6948    0.230    0.000    6.530    0.001 Script (Python):1(rssAllowed)
      640    0.140    0.000   16.510    0.026 Script (Python):1(getFolderContents)
  676/638    0.040    0.000    2.650    0.004 Script (Python):12(getRs)
   141946   18.200    0.000 5397.213    0.038 Script (Python):1(script_getPrettyLanguage)
    81511   33.360    0.000  356.800    0.004 Script (Python):1(selectedTabs)
        4    0.000    0.000    0.010    0.003 Script (Python):1(translate)
      468    0.020    0.000    0.380    0.001 Script (Python):1(lookupMime)
       36    0.000    0.000    0.000    0.000 Script (Python):27(<lambda.5>)
       72    0.030    0.000    0.300    0.004 Script (Python):1(computeStoryRelatedItems)
    72490    3.950    0.000  179.870    0.002 Script (Python):1(getReplyReplies)
112155480 2364.540    0.000 4688.523    0.000 Script (Python):149(<lambda.1>)
      817    0.020    0.000   16.270    0.020 Script (Python):1(getBestIcon)
        5    0.000    0.000    0.020    0.004 Script (Python):1(session_restore_value)
   166202    5.660    0.000  127.880    0.001 Script (Python):1(getSectionFromURL)

Front page profiling (tarmo, 11/2007)

Compare cumtime to total (287).

         23080018 function calls (22046013 primitive calls) in 287.840 CPU seconds

   Ordered by: cumulative time
   List reduced from 1906 to 100 due to restriction <100>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      119    0.000    0.000  287.840    2.419 profile:0(<function pm at 0x40b06144>)
      119    0.000    0.000  287.840    2.419 Publish.py:334(pm)
      119    0.000    0.000  287.840    2.419 Publish.py:175(publish_module_standard)
      119    0.000    0.000  287.650    2.417 PatchStringIO.py:32(new_publish)
      119    0.010    0.000  287.650    2.417 Publish.py:62(publish)
  135/121    0.000    0.000  280.290    2.316 :0(apply)
      112    0.000    0.000  280.260    2.502 mapply.py:32(mapply)
      112    0.000    0.000  280.230    2.502 Publish.py:40(call_object)
 3318/108    0.120    0.000  280.220    2.595 Bindings.py:329(_bindAndExec)
 2034/108    0.060    0.000  280.220    2.595 Bindings.py:309(__call__)
      107    0.000    0.000  280.170    2.618 ZopePageTemplate.py:225(_exec)
  428/107    0.070    0.000  280.140    2.618 PageTemplate.py:86(pt_render)
112591/107    4.140    0.000  279.640    2.613 TALInterpreter.py:266(interpret)
  428/107    0.000    0.000  279.640    2.613 TALInterpreter.py:234(__call__)
 5243/107    0.270    0.000  279.640    2.613 TALInterpreter.py:731(do_useMacro)
31244/107    0.950    0.000  278.910    2.607 TALInterpreter.py:431(no_tag)
31244/107    0.390    0.000  278.910    2.607 TALInterpreter.py:451(do_optTag_tal)
29960/107    0.390    0.000  278.910    2.607 TALInterpreter.py:439(do_optTag)
132280/22042    2.130    0.000  268.020    0.012 TALES.py:215(evaluate)
119520/21935    1.280    0.000  235.520    0.011 Expressions.py:182(__call__)
118664/21721    2.680    0.000  235.130    0.011 Expressions.py:158(_eval)
50077/8881    1.300    0.000  226.820    0.026 Expressions.py:71(render)
 7383/963    0.230    0.000  225.870    0.235 TALInterpreter.py:762(do_defineSlot)
 1070/107    0.010    0.000  222.290    2.077 TALInterpreter.py:718(do_defineMacro)
25814/3103    0.400    0.000  202.360    0.065 TALInterpreter.py:713(do_condition)
      321    0.030    0.000  189.340    0.590 PortalContent.py:95(__call__)
      321    0.050    0.000  186.590    0.581 BaseControllerPageTemplate.py:12(_call)
      321    0.000    0.000  186.590    0.581 FSControllerPageTemplate.py:89(__call__)
      321    0.010    0.000  186.360    0.581 FSPageTemplate.py:152(_exec)
      321    0.020    0.000  186.010    0.579 FSPageTemplate.py:125(pt_render)
    26429    0.400    0.000  132.340    0.005 TALInterpreter.py:506(do_setLocal_tal)
33625/32769    0.700    0.000   79.680    0.002 ZRPythonExpr.py:42(__call__)
33855/32934    0.320    0.000   75.210    0.002 :0(eval)
     3959    0.220    0.000   71.200    0.018 TALInterpreter.py:688(do_loop_tal)
      428    0.170    0.000   56.730    0.133 plone.py:50(globalize)
      428    0.260    0.001   56.420    0.132 plone.py:76(_initializeData)
    76158    5.500    0.000   51.170    0.001 TALInterpreter.py:313(do_startTag)
      428    0.170    0.000   49.600    0.116 ActionsTool.py:40(listFilteredActionsFor)
     4280    0.070    0.000   49.060    0.011 ActionsTool.py:24(_getActions)
     4601    0.860    0.000   48.470    0.011 ActionProviderBase.py:79(listActionInfos)
2022723/1973715   21.950    0.000   43.150    0.000 :0(getattr)
123265/122409    3.240    0.000   40.320    0.000 Expressions.py:105(_eval)
    43416    1.450    0.000   39.940    0.001 PatchStringIO.py:144(patched_attrAction_tal)
    56176    0.720    0.000   37.110    0.001 TALES.py:226(evaluateText)
    18190    0.160    0.000   34.950    0.002 utils.py:121(_checkPermission)
    18190    0.240    0.000   34.350    0.002 :0(checkPermission)
    18190    0.850    0.000   34.110    0.002 ImplPython.py:466(checkPermission)
121231/92555    1.610    0.000   33.670    0.000 ActionInformation.py:84(__getitem__)
    71905    5.080    0.000   33.570    0.000 Expressions.py:251(restrictedTraverse)
     1391    0.170    0.000   30.980    0.022 Collection.py:327(getResources)
   117991    2.670    0.000   30.130    0.000 traversable.py:51(__bobo_traverse__)
    18190    0.410    0.000   28.500    0.002 Owned.py:72(getOwner)
    14338    0.490    0.000   26.610    0.002 ActionInformation.py:118(_checkPermissions)
     4708    0.150    0.000   26.230    0.006 PluggableAuthService.py:213(getUserById)
    32119    3.200    0.000   25.420    0.001 Traversable.py:114(unrestrictedTraverse)
    14151    0.170    0.000   24.940    0.002 TALInterpreter.py:309(do_startEndTag)
      107    0.010    0.000   23.730    0.222 Python expression "here.lemill_tool.getStoryCandidate()":1(<expression>)
      107    0.020    0.000   23.690    0.221 LeMillTool.py:603(getStoryCandidate)
     6804    0.300    0.000   23.240    0.003 ReferenceEngine.py:104(getTargetObject)
    13608    0.540    0.000   21.770    0.002 UIDCatalog.py:75(getObject)
     4713    0.900    0.000   21.140    0.004 PluggableAuthService.py:709(_findUser)
    60664    3.220    0.000   19.720    0.000 BaseObject.py:1101(__bobo_traverse__)
     2544    0.090    0.000   19.440    0.008 Connection.py:720(setstate)
     2544    0.110    0.000   19.350    0.008 Connection.py:740(_setstate)
     9158    0.420    0.000   19.030    0.002 ZCatalog.py:676(searchResults)
     9158    0.320    0.000   18.400    0.002 Catalog.py:720(searchResults)
     2247    0.110    0.000   17.690    0.008 ReferenceEngine.py:387(getReferences)
    12198    0.290    0.000   17.190    0.001 TALES.py:253(translate)
    12198    0.510    0.000   16.880    0.001 i18n.py:37(translate)
7704/7383    0.570    0.000   16.690    0.002 TALInterpreter.py:599(do_insertTranslation)
      856    0.150    0.000   15.760    0.018 BaseRegistry.py:709(getEvaluatedResources)
      428    0.010    0.000   15.720    0.037 Collection.py:301(getRelatedContent)
    12594    0.360    0.000   15.710    0.001 ClassGen.py:51(generatedAccessor)
    12198    0.560    0.000   15.610    0.001 PlacelessTranslationService.py:80(translate)
     2544    0.160    0.000   15.450    0.006 serialize.py:603(setGhostState)
     7109    0.070    0.000   15.400    0.002 ClientStorage.py:739(load)
     3852    0.100    0.000   15.380    0.004 BaseRegistry.py:401(evaluateExpression)
     7109    0.220    0.000   15.330    0.002 ClientStorage.py:748(loadEx)
1594347/1570094    7.970    0.000   15.280    0.000 :0(get)
     2544    0.050    0.000   15.250    0.006 serialize.py:593(getState)
9861/5091    0.800    0.000   15.140    0.003 :0(load)
    10914    0.110    0.000   15.120    0.001 TALInterpreter.py:694(translate)
     9158    1.920    0.000   13.630    0.001 Catalog.py:442(search)
    13685    0.370    0.000   13.560    0.001 serialize.py:467(_persistent_load)
     1018    0.010    0.000   13.030    0.013 RCompile.py:68(compileAndTuplize)
     1018    0.020    0.000   13.010    0.013 RCompile.py:62(compile)
     4708    1.090    0.000   12.930    0.003 property.py:141(getPropertiesForUser)
     1391    0.120    0.000   12.920    0.009 Collection.py:305(getSortedList)
     1391    0.090    0.000   12.760    0.009 Referenceable.py:105(getReferenceImpl)
     4608    0.150    0.000   12.630    0.003 serialize.py:533(load_oid)
     4686    0.310    0.000   12.410    0.003 Connection.py:189(get)
     2247    0.210    0.000   12.310    0.005 ReferenceEngine.py:552(_resolveBrains)
3305/2814    0.080    0.000   11.930    0.004 TALES.py:122(compile)
     1000    0.050    0.000   11.560    0.012 ZRPythonExpr.py:33(__init__)
    12198    0.470    0.000   11.490    0.001 PlacelessTranslationService.py:518(translate)
     1000    0.040    0.000   11.480    0.011 RCompile.py:94(compile_restricted_eval)
      856    0.080    0.000   11.270    0.013 Referenceable.py:81(getRefs)
      856    0.000    0.000   11.270    0.013 Field.py:1586(get)
     2406    0.060    0.000   10.810    0.004 Expression.py:34(__init__)
  1662942   10.540    0.000   10.540    0.000 :0(isinstance)

wget traversal of the site (tarmo, 30.11.2007)

Ordered by total time spent in method (excluding time spent in methods called by that method)

         2503445402 function calls (2412895993 primitive calls) in 3026.259 CPU seconds

   Ordered by: internal time
   List reduced from 3221 to 100 due to restriction <100>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
188618277/181650814 2089.040    0.000 4153.070    0.000 :0(getattr)
200175529 1200.010    0.000 1200.010    0.000 :0(isinstance)
  3221819 1109.830    0.000 1521.010    0.000 PlacelessTranslationService.py:556(negotiate_language)
175824461/174627539  860.820    0.000 1266.370    0.000 :0(get)
18252111/33344  682.100    0.000 1528.029    0.046 TALInterpreter.py:266(interpret)
134580476  615.520    0.000  615.520    0.000 :0(append)
 39093652  607.120    0.000 1141.070    0.000 FasterStringIO.py:99(write)
  7772882  580.260    0.000 3775.350    0.000 Expressions.py:251(restrictedTraverse)
  1709685  409.460    0.000  409.460    0.000 :0(seek)
 11203896  405.230    0.000 -2915.157   -0.000 :0(guarded_getattr)
17707319/17707091  402.440    0.000  649.360    0.000 HTTPRequest.py:1089(get)
 18165400  383.780    0.000 1396.020    0.000 ZopeSecurityPolicy.py:28(getRoles)
  1126138  377.750    0.000  396.760    0.000 :0(union)
15894656/15814738  371.840    0.000 4524.680    0.000 Expressions.py:105(_eval)
 12793512  366.730    0.000 -3672.557   -0.000 TALES.py:183(endScope)
15293398/12007501  345.660    0.000 4285.798    0.000 Expressions.py:158(_eval)
 26544693  340.830    0.000  559.720    0.000 SecurityManagement.py:17(getSecurityManager)
20344021/15520185  334.630    0.000 1184.584    0.000 TALES.py:215(evaluate)
  8900602  294.300    0.000  294.850    0.000 :0(keys)
 52684928  292.630    0.000  292.630    0.000 :0(pop)
  6938076  249.120    0.000  333.720    0.000 :0(aq_get)
 52397860  247.150    0.000  299.400    0.000 :0(has_key)
 10939231  244.000    0.000 1306.270    0.000 :0(validate)
  8080706  241.200    0.000  791.590    0.000 TALInterpreter.py:472(do_rawtextBeginScope_tal)
 10259723  239.400    0.000  524.600    0.000 Skinnable.py:68(__getattr__)
3733548/1245440  196.410    0.000  294.250    0.000 log.py:38(short_repr)
   226607  182.490    0.001 2053.550    0.009 Catalog.py:442(search)
  5180191  179.220    0.000 -1079.577   -0.000 PatchStringIO.py:144(patched_attrAction_tal)
5213255/34487  177.520    0.000 1318.599    0.038 TALInterpreter.py:431(no_tag)
  7330162  172.520    0.000 2009.800    0.000 traversable.py:51(__bobo_traverse__)
15388501/12086185  170.000    0.000 4476.368    0.000 Expressions.py:182(__call__)
901306/395139  163.920    0.000 1940.960    0.005 :0(load)
  7790546  163.430    0.000  574.270    0.000 BTreeFolder2.py:509(__getattr__)
  2622412  159.010    0.000 1331.710    0.001 BaseObject.py:1101(__bobo_traverse__)
 32858703  152.690    0.000  152.690    0.000 :0(aq_base)
6617592/6537300  151.700    0.000 -1707.905   -0.000 ZRPythonExpr.py:42(__call__)
4627705/2195678  150.020    0.000  297.160    0.000 Traversable.py:97(getPhysicalPath)
 29100412  143.490    0.000  143.490    0.000 :0(join)
   415104  142.090    0.000  151.450    0.000 :0(multiunion)
 36870353  142.080    0.000  142.080    0.000 :0(get_ident)
  6009050  141.820    0.000 1067.690    0.000 UnIndex.py:307(_apply_index)
 12793512  141.630    0.000  261.790    0.000 TALES.py:180(beginScope)
  8779211  141.100    0.000  360.380    0.000 ZopeGuards.py:52(guarded_getitem)
11602000/8790620  137.820    0.000 1867.970    0.000 ActionInformation.py:84(__getitem__)
  1218198  135.030    0.000  333.530    0.000 DateTime.py:516(_parse_args)
  7357735  134.410    0.000  624.210    0.000 util.py:58(__init__)
 16254142  134.010    0.000  214.680    0.000 PatchStringIO.py:114(_nulljoin)
  3479438  133.930    0.000  750.940    0.000 ActionInformation.py:42(__init__)
 17549413  132.170    0.000  132.170    0.000 :0(update)
  9060617  131.610    0.000  474.750    0.000 Catalog.py:770(has_key)
  2297627  127.890    0.000 -3597.037   -0.002 PlacelessTranslationService.py:72(load)
  2160628  127.190    0.000  284.800    0.000 adapter.py:328(lookup)
  2161531  125.880    0.000  245.690    0.000 User.py:178(allowed)
  7326800  125.600    0.000  232.870    0.000 cgi.py:1047(escape)
 27314765  123.450    0.000  123.450    0.000 :0(startswith)
 10695072  121.070    0.000  385.950    0.000 Catalog.py:753(__getitem__)
4966282/3625958  119.360    0.000  245.708    0.000 Expressions.py:71(render)
  2249373  118.490    0.000 1488.420    0.001 PlacelessTranslationService.py:412(getCatalogsForTranslation)
1729286/1707240  118.460    0.000 4198.930    0.002 TALInterpreter.py:599(do_insertTranslation)
  2217335  117.070    0.000 2185.820    0.001 PlacelessTranslationService.py:518(translate)
   423468  116.350    0.000 -1029.227   -0.002 ActionProviderBase.py:79(listActionInfos)
 27981826  115.340    0.000  115.340    0.000 :0(replace)
   624181  112.470    0.000  153.100    0.000 :0(weightedIntersection)
  7920578  111.940    0.000 3169.650    0.000 TALES.py:226(evaluateText)
  7116639  110.880    0.000  367.380    0.000 HTTPRequest.py:1216(__getattr__)
 11063406  110.700    0.000  379.860    0.000 TALInterpreter.py:703(do_rawtextColumn)
  4302537  110.620    0.000  195.550    0.000 UserDict.py:40(update)
 18831803  110.260    0.000  110.260    0.000 :0(copy)
  9856414  110.220    0.000 -3702.627   -0.000 TALInterpreter.py:498(do_endScope)
  3479438  106.350    0.000  281.050    0.000 ActionInformation.py:317(getMapping)
  3161631  106.210    0.000 1482.010    0.000 TALInterpreter.py:530(do_insertText_tal)
  2161531  102.520    0.000 -2500.227   -0.001 ImplPython.py:466(checkPermission)
5365279/4535589   99.480    0.000  162.360    0.000 Iterator.py:38(__getattr__)
  6333586   97.140    0.000  357.250    0.000 HTTPRequest.py:1210(__getitem__)
  2161531   96.810    0.000  278.580    0.000 ImplPython.py:62(rolesForPermissionOn)
4410793/1043332   93.520    0.000  212.200    0.000 Implements.py:55(visitImplements)
  3479442   86.450    0.000  265.680    0.000 UserDict.py:4(__init__)
   541834   85.920    0.000  776.810    0.001 connection.py:605(wait)
  7358611   85.540    0.000   85.540    0.000 Catalog.py:268(getIndex)
  2217335   84.770    0.000 -1342.787   -0.001 PlacelessTranslationService.py:80(translate)
  5146180   83.470    0.000  165.810    0.000 urllib.py:1079(quote)
  2217335   82.790    0.000 -1086.127   -0.000 i18n.py:37(translate)
  2649220   82.300    0.000 1105.560    0.000 Expressions.py:221(__call__)
  5091014   78.970    0.000 -2351.119   -0.000 TALInterpreter.py:506(do_setLocal_tal)
 20164908   78.570    0.000   78.570    0.000 TALES.py:199(setLocal)
  5212564   78.280    0.000   95.770    0.000 PropertyManager.py:157(getPropertyType)
 19614501   78.160    0.000  120.500    0.000 UserDict.py:17(__getitem__)
  7088963   75.270    0.000  162.250    0.000 PatchStringIO.py:75(patchedStringIO)
  2732167   72.890    0.000  130.650    0.000 TALInterpreter.py:514(do_beginI18nContext)
  3479438   70.380    0.000  151.400    0.000 ActionInformation.py:264(getActionExpression)
   495215   70.010    0.000 1411.930    0.003 Connection.py:189(get)
  4712752   69.610    0.000  185.220    0.000 TALInterpreter.py:491(do_beginScope_tal)
4481153/34487   68.920    0.000 1320.899    0.038 TALInterpreter.py:439(do_optTag)
  9602084   66.590    0.000   66.590    0.000 :0(items)
 11361552   65.230    0.000   65.230    0.000 :0(reverse)
7203113/7203068   64.900    0.000  100.540    0.000 ustr.py:20(ustr)
  2046414   64.000    0.000 -3862.457   -0.002 HTTPRequest.py:197(physicalPathToURL)
 12793512   63.020    0.000   63.020    0.000 :0(push)
5213255/34487   61.420    0.000 1321.899    0.038 TALInterpreter.py:451(do_optTag_tal)
  1793665   60.760    0.000 -3611.197   -0.002 Traversable.py:38(absolute_url)

PTProfiler on LeMill.net (over a weekend)

Template  	Total rendering time  	Total hits  	Time per hit
CMFPlone/skins/plone_content/author.cpt 	57.01 	36 	1.5836
CMFPlone/skins/plone_content/discussionitem_view.pt 	134.48 	139 	0.9675
CMFPlone/skins/plone_content/folder_listing.pt 	0.39 	1 	0.39
CMFPlone/skins/plone_ecmascript/plone_javascript_variables.js.pt 	0.07 	4 	0.0175
CMFPlone/skins/plone_forms/search.pt 	40.98 	23 	1.7817
CMFPlone/skins/plone_forms/search_form.pt 	7.99 	2 	3.995
CMFPlone/skins/plone_login/enabling_cookies.pt 	1.36 	7 	0.1943
CMFPlone/skins/plone_login/logged_out.pt 	2.97 	15 	0.198
CMFPlone/skins/plone_portlets/portlet_navtree_macro.pt 	114.14 	3 	38.0467
CMFPlone/skins/plone_templates/contact-info.cpt 	145.33 	402 	0.3615
CMFPlone/skins/plone_templates/default_error_message.pt 	93.18 	411 	0.2267
CMFPlone/skins/plone_templates/index_html.pt 	0.25 	1 	0.25
CMFPlone/skins/plone_templates/search_rss.pt 	37.32 	20 	1.866
CMFPlone/skins/plone_templates/sitemap.pt 	161.46 	3 	53.82
LeMill/skins/lemill/CollectionRSS.pt 	45.02 	109 	0.413
LeMill/skins/lemill/CommentRSS.pt 	11.23 	72 	0.156
LeMill/skins/lemill/ForumRSS.pt 	61.59 	149 	0.4134
LeMill/skins/lemill/RSS.pt 	591.89 	512 	1.156
LeMill/skins/lemill/about_view.pt 	257.27 	213 	1.2078
LeMill/skins/lemill/base_edit.cpt 	48.25 	77 	0.6266
LeMill/skins/lemill/base_metadata.cpt 	14.84 	7 	2.12
LeMill/skins/lemill/base_view.pt 	366.5927 	3892 	0.0942
LeMill/skins/lemill/change_coverimage.cpt 	0.9 	3 	0.3
LeMill/skins/lemill/collection_add.cpt 	5.45 	4 	1.3625
LeMill/skins/lemill/collection_download.pt 	2.99 	30 	0.0997
LeMill/skins/lemill/collection_edit.cpt 	6.43 	4 	1.6075
LeMill/skins/lemill/collection_view.cpt 	-4030.6973 	491 	-8.2092
LeMill/skins/lemill/collections_list.pt 	457.56 	524 	0.8732
LeMill/skins/lemill/delete.cpt 	1.72 	8 	0.215
LeMill/skins/lemill/discussion.pt 	345.34 	284 	1.216
LeMill/skins/lemill/edit_scenes.cpt 	6.38 	5 	1.276
LeMill/skins/lemill/fullscreen_view.pt 	-3249.4373 	602 	-5.3977
LeMill/skins/lemill/groupblog_view.pt 	4229.24 	2251 	1.8788
LeMill/skins/lemill/history_view.pt 	166.15 	667 	0.2491
LeMill/skins/lemill/join_a_group.cpt 	1.42 	1 	1.42
LeMill/skins/lemill/join_form.cpt 	27.18 	70 	0.3883
LeMill/skins/lemill/lemill_activities_view.pt 	15.08 	27 	0.5585
LeMill/skins/lemill/lemill_ask_publish.cpt 	0.22 	2 	0.11
LeMill/skins/lemill/lemill_browse_content.pt 	1386.12 	615 	2.2539
LeMill/skins/lemill/lemill_browse_groups.pt 	71.91 	134 	0.5366
LeMill/skins/lemill/lemill_browse_members.pt 	359.52 	334 	1.0764
LeMill/skins/lemill/lemill_browse_methods.pt 	98.51 	140 	0.7036
LeMill/skins/lemill/lemill_browse_tools.pt 	107.23 	168 	0.6383
LeMill/skins/lemill/lemill_choose_template.pt 	3.92 	11 	0.3564
LeMill/skins/lemill/lemill_community_view.pt 	65.73 	72 	0.9129
LeMill/skins/lemill/lemill_content_add.cpt 	1.32 	7 	0.1886
LeMill/skins/lemill/lemill_content_titlecloud.pt 	47.05 	8 	5.8813
LeMill/skins/lemill/lemill_content_view.pt 	57.54 	79 	0.7284
LeMill/skins/lemill/lemill_portfolio_view.pt 	-1319.1373 	2811 	-0.4693
LeMill/skins/lemill/lemill_published_content.pt 	13.2 	14 	0.9429
LeMill/skins/lemill/lemill_published_view.pt 	9.04 	9 	1.0044
LeMill/skins/lemill/lemill_recent_view.pt 	218.15 	72 	3.0299
LeMill/skins/lemill/lemill_search_form.pt 	2.83 	5 	0.566
LeMill/skins/lemill/lemill_search_results.pt 	74.31 	53 	1.4021
LeMill/skins/lemill/lemill_titlecloud.pt 	89.37 	146 	0.6121
LeMill/skins/lemill/lemill_tools_view.pt 	12.2 	28 	0.4357
LeMill/skins/lemill/login_form.cpt 	26.47 	115 	0.2302
LeMill/skins/lemill/login_success.pt 	8.52 	44 	0.1936
LeMill/skins/lemill/member_view.pt 	1654.41 	3002 	0.5511
LeMill/skins/lemill/personalize_form.cpt 	7.44 	2 	3.72
LeMill/skins/lemill/piece_edit.cpt 	1.4 	3 	0.4667
LeMill/skins/lemill/registered.pt 	0.39 	2 	0.195
LeMill/skins/lemill/rss_highlights.pt 	138.79 	19 	7.3047
LeMill/skins/lemill/slide_uploader.pt 	0.14 	1 	0.14
LeMill/skins/lemill/slideshow_view.pt 	63.39 	66 	0.9605
LeMill/skins/lemill/standalone_view.pt 	25.02 	44 	0.5686
LeMill/skins/lemill/translate_resource.cpt 	0.29 	1 	0.29
PasswordResetTool/skins/PasswordReset/mail_password_form.pt 	4.25 	13 	0.3269
PasswordResetTool/skins/PasswordReset/mail_password_response.pt 	0.14 	1 	0.14
PasswordResetTool/skins/PasswordReset/pwreset_invalid.pt 	0.13 	1 	0.13
front-page 	359.23 	183 	1.963
kupu/plone/kupu_plone_layer/emptypage.pt 	0.95 	22 	0.0432
kupu/plone/kupu_plone_layer/kupublank.html.html 	0.04 	2 	0.02

PTProfiler on LeMill.net (over a weekend 11-14.1 2008)

Template  	Total rendering time  	Total hits  	Time per hit
CMFPlone/skins/plone_content/author.cpt	21.6	28	0.7714
CMFPlone/skins/plone_content/discussionitem_view.pt	65.11	137	0.4753
CMFPlone/skins/plone_ecmascript/plone_javascript_variables.js.pt	0.04	2	0.02
CMFPlone/skins/plone_forms/search.pt	24.95	35	0.7129
CMFPlone/skins/plone_forms/search_form.pt	0.24	2	0.12
CMFPlone/skins/plone_login/enabling_cookies.pt	0.56	3	0.1867
CMFPlone/skins/plone_login/logged_out.pt	2.21	15	0.1473
CMFPlone/skins/plone_portlets/portlet_navtree_macro.pt	0.04	4	0.01
CMFPlone/skins/plone_templates/contact-info.cpt	106.11	343	0.3094
CMFPlone/skins/plone_templates/default_error_message.pt	62.97	370	0.1702
CMFPlone/skins/plone_templates/index_html.pt	0.12	1	0.12
CMFPlone/skins/plone_templates/search_rss.pt	5.5	14	0.3929
CMFPlone/skins/plone_templates/sitemap.pt	61.28	4	15.32
LeMill/skins/lemill/CollectionRSS.pt	30.51	72	0.4237
LeMill/skins/lemill/CommentRSS.pt	7.92	76	0.1042
LeMill/skins/lemill/ForumRSS.pt	273.88	167	1.64
LeMill/skins/lemill/RSS.pt	300.47	459	0.6546
LeMill/skins/lemill/TODO.pt	0.09	1	0.09
LeMill/skins/lemill/about_view.pt	63.04	282	0.2235
LeMill/skins/lemill/base_edit.cpt	21.47	23	0.9335
LeMill/skins/lemill/base_metadata.cpt	8.34	5	1.668
LeMill/skins/lemill/base_view.pt	-2028.9873	4327	-0.4689
LeMill/skins/lemill/change_coverimage.cpt	0.26	1	0.26
LeMill/skins/lemill/collection_add.cpt	0.82	1	0.82
LeMill/skins/lemill/collection_download.pt	4.94	31	0.1594
LeMill/skins/lemill/collection_view.cpt	298.38	424	0.7037
LeMill/skins/lemill/collections_list.pt	209.7	593	0.3536
LeMill/skins/lemill/delete.cpt	0.39	2	0.195
LeMill/skins/lemill/discussion.pt	106.45	337	0.3159
LeMill/skins/lemill/edit_scenes.cpt	3.01	2	1.505
LeMill/skins/lemill/fullscreen_view.pt	258.4	628	0.4115
LeMill/skins/lemill/groupblog_view.pt	-3577.3973	731	-4.8938
LeMill/skins/lemill/history_view.pt	162.76	761	0.2139
LeMill/skins/lemill/join_form.cpt	26.59	93	0.2859
LeMill/skins/lemill/lemill_activities_view.pt	12.33	35	0.3523
LeMill/skins/lemill/lemill_ask_publish.cpt	0.21	2	0.105
LeMill/skins/lemill/lemill_browse_content.pt	1023.32	822	1.2449
LeMill/skins/lemill/lemill_browse_groups.pt	44.4	127	0.3496
LeMill/skins/lemill/lemill_browse_members.pt	286.52	386	0.7423
LeMill/skins/lemill/lemill_browse_methods.pt	55.46	163	0.3402
LeMill/skins/lemill/lemill_browse_tools.pt	79.91	195	0.4098
LeMill/skins/lemill/lemill_choose_template.pt	1.45	6	0.2417
LeMill/skins/lemill/lemill_community_view.pt	47.52	78	0.6092
LeMill/skins/lemill/lemill_content_add.cpt	1.81	8	0.2262
LeMill/skins/lemill/lemill_content_titlecloud.pt	4.62	5	0.924
LeMill/skins/lemill/lemill_content_view.pt	53.38	110	0.4853
LeMill/skins/lemill/lemill_portfolio_view.pt	2977.39	3357	0.8869
LeMill/skins/lemill/lemill_published_content.pt	3.54	10	0.354
LeMill/skins/lemill/lemill_published_view.pt	0.67	3	0.2233
LeMill/skins/lemill/lemill_recent_view.pt	103.08	75	1.3744
LeMill/skins/lemill/lemill_search_form.pt	4.82	11	0.4382
LeMill/skins/lemill/lemill_search_results.pt	91.55	87	1.0523
LeMill/skins/lemill/lemill_titlecloud.pt	72.81	221	0.3295
LeMill/skins/lemill/lemill_tools_view.pt	9.87	28	0.3525
LeMill/skins/lemill/login_form.cpt	22.9	116	0.1974
LeMill/skins/lemill/login_success.pt	12.8	59	0.2169
LeMill/skins/lemill/member_view.pt	1615.03	3226	0.5006
LeMill/skins/lemill/personalize_form.cpt	3.9	1	3.9
LeMill/skins/lemill/piece_edit.cpt	0.17	1	0.17
LeMill/skins/lemill/registered.pt	0.78	6	0.13
LeMill/skins/lemill/rss_highlights.pt	78.89	14	5.635
LeMill/skins/lemill/show_translations.pt	0.23	1	0.23
LeMill/skins/lemill/slide_uploader.pt	9.05	8	1.1313
LeMill/skins/lemill/slideshow_view.pt	71.65	90	0.7961
PasswordResetTool/skins/PasswordReset/mail_password_form.pt	1.69	11	0.1536
PasswordResetTool/skins/PasswordReset/mail_password_response.pt	0.12	1	0.12
front-page	287.68	178	1.6162
kupu/plone/kupu_plone_layer/emptypage.pt	0.26	7	0.0371
kupu/plone/kupu_plone_layer/kupublank.html.html	0.16	10	0.016

wget traversal of the site (tarmo, 9.7.2008)

Done on a separate testing server (leibniz), not on the production setup. The entire site was not traversed, processing stopped after about 16 hours.

Ordered by total time spent in method (excluding time spent in methods called by that method)

         341252488 function calls (329672259 primitive calls) in 1034.265 CPU seconds

   Ordered by: internal time
   List reduced from 3263 to 100 due to restriction <100>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
21219564/20212105  477.410    0.000 1562.380    0.000 :0(getattr)
   467677  388.430    0.001  604.100    0.001 PlacelessTranslationService.py:556(negotiate_language)
 26497934  318.440    0.000  318.440    0.000 :0(isinstance)
28044212/27649686  268.640    0.000  629.910    0.000 :0(get)
  1546280  204.930    0.000 1317.180    0.001 TALInterpreter.py:313(do_startTag)
2365158/4254  182.540    0.000 4758.673    1.119 TALInterpreter.py:266(interpret)
 19384483  179.980    0.000  179.980    0.000 :0(append)
19114410/19098488  179.210    0.000  181.350    0.000 :0(len)
  5318375  172.200    0.000  320.680    0.000 FasterStringIO.py:99(write)
  1167321  169.420    0.000  169.590    0.000 :0(keys)
   945046  146.000    0.000 1125.460    0.001 Expressions.py:251(restrictedTraverse)
   142577  145.280    0.001  145.280    0.001 :0(send)
  4754023  142.470    0.000  248.530    0.000 ZopeGuards.py:52(guarded_getitem)
222079/113083  134.950    0.001 1156.040    0.010 :0(load)
   443834  107.470    0.000  107.470    0.000 :0(seek)
  1390132  105.290    0.000  323.110    0.000 :0(guarded_getattr)
  1713706   99.320    0.000  169.930    0.000 TALES.py:183(endScope)
2122980/2122959   94.940    0.000  150.910    0.000 HTTPRequest.py:1097(get)
  2293256   94.820    0.000  466.310    0.000 ZopeSecurityPolicy.py:28(getRoles)
5105063/5099067   94.130    0.000  142.280    0.000 :0(hasattr)
  1953774   93.110    0.000 1317.740    0.001 Expressions.py:105(_eval)
1872199/1650276   92.620    0.000 -345.457   -0.000 Expressions.py:158(_eval)
   361753   89.380    0.000  199.010    0.001 DateTime.py:516(_parse_args)
2575092/2178666   86.340    0.000 1902.593    0.001 TALES.py:215(evaluate)
  3149574   81.310    0.000  134.720    0.000 SecurityManagement.py:17(getSecurityManager)
   848492   80.770    0.000  153.990    0.000 PythonExpr.py:47(_bind_used_names)
  7047188   78.190    0.000   78.190    0.000 :0(pop)
  2111280   74.830    0.000  284.060    0.000 Script (Python):149(<lambda.5>)
  1105414   66.670    0.000  232.080    0.000 TALInterpreter.py:472(do_rawtextBeginScope_tal)
  1355846   65.060    0.000  449.640    0.000 :0(validate)
358974/358971   63.600    0.000  692.570    0.002 Traversable.py:114(unrestrictedTraverse)
  1179452   60.870    0.000  128.940    0.000 Skinnable.py:68(__getattr__)
   681816   58.450    0.000   86.990    0.000 :0(aq_get)
    38926   57.410    0.001  530.880    0.014 Catalog.py:442(search)
5326071/5325975   55.070    0.000   92.770    0.000 :0(has_key)
  4556742   52.280    0.000   52.280    0.000 :0(join)
   655858   48.880    0.000  876.910    0.001 PatchStringIO.py:144(patched_attrAction_tal)
663374/4310   46.110    0.000 4705.743    1.092 TALInterpreter.py:431(no_tag)
1886164/1662566   45.340    0.000 -282.997   -0.000 Expressions.py:182(__call__)
   103938   44.980    0.000   57.890    0.001 :0(union)
   142512   44.270    0.000 -3783.377   -0.027 connection.py:605(wait)
   945497   43.960    0.000  268.180    0.000 UnIndex.py:307(_apply_index)
  1829155   42.860    0.000   42.860    0.000 :0(copy)
   901116   42.790    0.000  775.980    0.001 traversable.py:51(__bobo_traverse__)
1428303/642771   41.550    0.000   94.970    0.000 :0(map)
848492/838678   41.000    0.000 2318.680    0.003 ZRPythonExpr.py:42(__call__)
   841329   40.170    0.000  373.280    0.000 BTreeFolder2.py:509(__getattr__)
   950597   38.680    0.000  356.500    0.000 Lazy.py:140(__getitem__)
  1362276   38.400    0.000   97.190    0.000 Catalog.py:770(has_key)
  1138027   38.330    0.000  137.750    0.000 util.py:58(__init__)
  1713706   38.280    0.000   89.830    0.000 TALES.py:180(beginScope)
   314709   37.740    0.000  191.780    0.001 PlacelessTranslationService.py:72(load)
555393/267628   37.350    0.000   71.180    0.000 Traversable.py:97(getPhysicalPath)
  4624512   36.420    0.000   36.420    0.000 :0(get_ident)
   302297   36.080    0.000  539.460    0.002 BaseObject.py:1101(__bobo_traverse__)
  1026361   36.020    0.000   67.530    0.000 cgi.py:1047(escape)
   304895   34.770    0.000  792.930    0.003 PlacelessTranslationService.py:518(translate)
  2149030   34.020    0.000   57.660    0.000 PatchStringIO.py:114(_nulljoin)
244559/242401   33.980    0.000 1301.770    0.005 TALInterpreter.py:599(do_insertTranslation)
  3838834   33.330    0.000   33.330    0.000 :0(replace)
  3621447   33.150    0.000   33.150    0.000 :0(startswith)
   309121   32.940    0.000  525.340    0.002 PlacelessTranslationService.py:412(getCatalogsForTranslation)
   714881   32.820    0.000   32.820    0.000 :0(stat)
  1078363   32.640    0.000  881.830    0.001 TALES.py:226(evaluateText)
   915632   32.400    0.000  103.970    0.000 HTTPRequest.py:1224(__getattr__)
   471790   32.340    0.000  445.850    0.001 TALInterpreter.py:530(do_insertText_tal)
    75747   31.720    0.000   72.360    0.001 :0(weightedIntersection)
   275401   31.640    0.000   76.500    0.000 adapter.py:328(lookup)
  1687265   31.590    0.000   31.590    0.000 :0(update)
   546265   31.480    0.000  265.980    0.000 Catalog.py:113(__getitem__)
   222760   31.070    0.000   31.070    0.000 :0(select)
  1603797   30.450    0.000   67.030    0.000 Catalog.py:753(__getitem__)
  1482226   29.420    0.000  106.550    0.000 TALInterpreter.py:703(do_rawtextColumn)
  1305595   29.410    0.000  160.500    0.000 TALInterpreter.py:498(do_endScope)
592759/499445   28.970    0.000 -1619.447   -0.003 Expressions.py:71(render)
717519/606454   28.840    0.000   45.240    0.000 Iterator.py:38(__getattr__)
   832887   28.010    0.000   56.980    0.000 urllib.py:1079(quote)
   304895   25.690    0.000 1007.070    0.003 PlacelessTranslationService.py:80(translate)
   923025   25.550    0.000   49.190    0.000 PatchStringIO.py:75(patchedStringIO)
  1138213   25.220    0.000   25.220    0.000 Catalog.py:268(getIndex)
   304895   24.130    0.000 1079.750    0.004 i18n.py:37(translate)
   818231   23.920    0.000   23.920    0.000 __init__.py:1136(getEffectiveLevel)
   160165   23.780    0.000 -3341.277   -0.021 ClientStorage.py:748(loadEx)
   467677   23.740    0.000   35.500    0.000 Negotiator.py:224(negotiate)
   215908   23.650    0.000  272.160    0.001 asyncore.py:104(poll)
    50167   23.300    0.000  312.600    0.006 :0(sort)
   284468   22.690    0.000   22.690    0.000 :0(writelines)
   308417   21.360    0.000  277.020    0.001 Expressions.py:221(__call__)
  1199307   21.320    0.000   21.320    0.000 :0(items)
   255742   21.230    0.000   37.990    0.000 posixpath.py:373(normpath)
  2594466   20.490    0.000   20.490    0.000 TALES.py:199(setLocal)
   142606   20.210    0.000  181.720    0.001 smac.py:238(handle_write)
  1436990   20.170    0.000   20.170    0.000 :0(floor)
2319982/2303277   20.030    0.000   20.850    0.000 :0(cmp)
1015269/1015256   19.970    0.000   30.500    0.000 ustr.py:20(ustr)
      136   19.870    0.146 -4088.497  -30.062 LargeSectionFolder.py:957(getTagCloud)
   666517   19.750    0.000   64.230    0.000 HTTPRequest.py:1218(__getitem__)
   319655   19.700    0.000  146.630    0.000 HTTPRequest.py:197(physicalPathToURL)
   661744   19.340    0.000   64.530    0.000 connection.py:326(log)
   142234   19.340    0.000  129.380    0.001 cache.py:929(_writeobj)

Attachments