FrontPage is the most visited page in the wiki (see PageHits)

All profiles use (the first request is not profiled)

ab -n 101 -c 1 http://localhost:8000/FrontPage

Running standalone and with Python 2.4 on OS X. Since profiling code4 changed, using standalone.py from current code in 1.3.0 and 1.3.1.

Release 1.3.0

Requests per second:    8.01 [#/sec] (mean)

         1182172 function calls (1165772 primitive calls) in 3.551 CPU seconds

   Ordered by: cumulative time, internal time, call count
   List reduced from 291 to 40 due to restriction <40>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      100    0.009    0.000    3.443    0.034 request.py:654(run)
      100    0.037    0.000    3.340    0.033 Page.py:650(send_page)
      100    0.025    0.000    2.145    0.021 wikiutil.py:902(send_title)
      800    0.011    0.000    1.544    0.002 security.py:52(<lambda>)
      800    0.003    0.000    1.463    0.002 wikiacl.py:185(may)
     1100    0.007    0.000    1.459    0.001 request.py:133(__getattr__)
      100    0.004    0.000    1.451    0.015 request.py:540(initdicts)
      100    0.006    0.000    1.447    0.014 wikidicts.py:289(scandicts)
      100    0.029    0.000    1.430    0.014 pickle.py:1392(loads)
      100    0.515    0.005    1.399    0.014 pickle.py:859(load)
15900/6600    0.488    0.000    0.858    0.000 Page.py:77(get_rev)
      100    0.014    0.000    0.856    0.009 Page.py:982(send_page_content)
     5300    0.037    0.000    0.819    0.000 Page.py:320(exists)
      100    0.029    0.000    0.743    0.007 FrontPage:2(?)
14400/7300    0.244    0.000    0.739    0.000 Page.py:108(getPagePath)
     2800    0.044    0.000    0.683    0.000 Page.py:550(link_to)
     2000    0.033    0.000    0.610    0.000 text_html.py:212(pagelink)
     8000    0.300    0.000    0.570    0.000 pickle.py:1221(load_setitems)
      100    0.005    0.000    0.368    0.004 modern.py:38(header)
    12100    0.274    0.000    0.274    0.000 pickle.py:884(marker)
     1000    0.237    0.000    0.272    0.000 pysupport.py:37(importName)
     1300    0.031    0.000    0.229    0.000 wikiutil.py:432(getSysPage)
      400    0.009    0.000    0.226    0.001 wikiutil.py:508(importPlugin)
      200    0.007    0.000    0.181    0.001 __init__.py:910(editbar)
      200    0.014    0.000    0.169    0.001 Page.py:260(lastEditInfo)
      100    0.004    0.000    0.138    0.001 __init__.py:282(navibar)
      100    0.001    0.000    0.135    0.001 wikiutil.py:1116(send_footer)
      100    0.003    0.000    0.132    0.001 modern.py:70(footer)
      400    0.005    0.000    0.119    0.000 __init__.py:205(splitNavilink)
      100    0.003    0.000    0.110    0.001 __init__.py:510(pageinfo)
      100    0.010    0.000    0.108    0.001 request.py:1370(__init__)
   117000    0.107    0.000    0.107    0.000 pickle.py:1193(load_long_binput)
      100    0.005    0.000    0.095    0.001 request.py:63(__init__)
     3400    0.063    0.000    0.091    0.000 wikiutil.py:765(link_tag)
    62400    0.087    0.000    0.087    0.000 posixpath.py:56(join)
     1200    0.004    0.000    0.086    0.000 Page.py:187(_text_filename)
      200    0.003    0.000    0.086    0.000 editlog.py:57(getEditor)
    18000    0.083    0.000    0.083    0.000 posixpath.py:168(exists)
   350700    0.079    0.000    0.079    0.000 pickle.py:943(load_binint1)
      100    0.001    0.000    0.074    0.001 request.py:1477(finish)

Rlease 1.3.1

Requests per second:    14.24 [#/sec] (mean)

         262452 function calls (246052 primitive calls) in 2.160 CPU seconds

   Ordered by: cumulative time, internal time, call count
   List reduced from 265 to 40 due to restriction <40>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      100    0.009    0.000    2.052    0.021 request.py:654(run)
      100    0.038    0.000    1.948    0.019 Page.py:650(send_page)
15900/6600    0.493    0.000    0.881    0.000 Page.py:77(get_rev)
      100    0.014    0.000    0.857    0.009 Page.py:982(send_page_content)
     5300    0.035    0.000    0.839    0.000 Page.py:320(exists)
14400/7300    0.258    0.000    0.762    0.000 Page.py:108(getPagePath)
      100    0.025    0.000    0.744    0.007 wikiutil.py:909(send_title)
      100    0.028    0.000    0.743    0.007 FrontPage:2(?)
     2800    0.044    0.000    0.692    0.000 Page.py:550(link_to)
     2000    0.030    0.000    0.610    0.000 text_html.py:212(pagelink)
      100    0.005    0.000    0.377    0.004 modern.py:38(header)
     1000    0.238    0.000    0.273    0.000 pysupport.py:37(importName)
     1300    0.031    0.000    0.237    0.000 wikiutil.py:432(getSysPage)
      400    0.009    0.000    0.227    0.001 wikiutil.py:515(importPlugin)
      200    0.007    0.000    0.185    0.001 __init__.py:910(editbar)
      200    0.014    0.000    0.173    0.001 Page.py:260(lastEditInfo)
      100    0.004    0.000    0.141    0.001 __init__.py:282(navibar)
      100    0.001    0.000    0.141    0.001 wikiutil.py:1123(send_footer)
      100    0.003    0.000    0.138    0.001 modern.py:70(footer)
      800    0.011    0.000    0.129    0.000 security.py:52(<lambda>)
      400    0.005    0.000    0.122    0.000 __init__.py:205(splitNavilink)
      100    0.005    0.000    0.116    0.001 __init__.py:510(pageinfo)
      100    0.009    0.000    0.108    0.001 request.py:1370(__init__)
      100    0.005    0.000    0.096    0.001 request.py:63(__init__)
     3400    0.062    0.000    0.091    0.000 wikiutil.py:772(link_tag)
     1200    0.004    0.000    0.090    0.000 Page.py:187(_text_filename)
    62400    0.088    0.000    0.088    0.000 posixpath.py:56(join)
      200    0.003    0.000    0.088    0.000 editlog.py:57(getEditor)
    18000    0.088    0.000    0.088    0.000 posixpath.py:168(exists)
      100    0.001    0.000    0.075    0.001 request.py:1479(finish)
      100    0.073    0.001    0.073    0.001 request.py:1014(finish)
      800    0.010    0.000    0.072    0.000 Page.py:1208(getACL)
      100    0.001    0.000    0.066    0.001 request.py:259(loadTheme)
      100    0.008    0.000    0.065    0.001 wiki.py:95(__init__)
      200    0.004    0.000    0.061    0.000 editlog.py:35(getEditorData)
      100    0.005    0.000    0.059    0.001 __init__.py:793(actionsMenu)
      100    0.000    0.000    0.058    0.001 base.py:219(macro)
      100    0.001    0.000    0.058    0.001 wikimacro.py:33(getNames)
      100    0.001    0.000    0.058    0.001 wikimacro.py:98(execute)
     6800    0.037    0.000    0.058    0.000 request.py:1471(write)

patch-460 + experinamtal refactoring + patch-503

See PageClassRefactoring

Requests per second:    27.25 [#/sec] (mean)

         166360 function calls in 1.050 CPU seconds

   Ordered by: cumulative time, internal time, call count
   List reduced from 274 to 40 due to restriction <40>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      100    0.008    0.000    1.002    0.010 request.py:662(run)
      100    0.039    0.000    0.892    0.009 Page.py:780(send_page)
      100    0.013    0.000    0.406    0.004 wikiutil.py:965(send_title)
      100    0.011    0.000    0.293    0.003 Page.py:1117(send_page_content)
      100    0.020    0.000    0.256    0.003 FrontPage:2(?)
      100    0.004    0.000    0.215    0.002 modern.py:38(header)
     2000    0.023    0.000    0.190    0.000 text_html.py:212(pagelink)
     2800    0.033    0.000    0.185    0.000 Page.py:680(link_to)
     5100    0.015    0.000    0.149    0.000 Page.py:466(exists)
     7200    0.027    0.000    0.143    0.000 Page.py:195(getInfo)
      200    0.007    0.000    0.140    0.001 __init__.py:910(editbar)
      200    0.013    0.000    0.122    0.001 Page.py:410(lastEditInfo)
     1300    0.025    0.000    0.113    0.000 wikiutil.py:434(getSysPage)
     3400    0.060    0.000    0.105    0.000 Page.py:214(getInfoForDomain)
      700    0.005    0.000    0.103    0.000 security.py:52(<lambda>)
      200    0.002    0.000    0.091    0.000 __init__.py:750(shouldShowEditbar)
      700    0.004    0.000    0.088    0.000 wikiacl.py:185(may)
     1100    0.008    0.000    0.086    0.000 request.py:138(__getattr__)
      100    0.001    0.000    0.080    0.001 request.py:1521(finish)
      100    0.001    0.000    0.079    0.001 wikiutil.py:1189(send_footer)
      100    0.078    0.001    0.078    0.001 request.py:1041(finish)
      100    0.004    0.000    0.078    0.001 request.py:548(initdicts)
      100    0.003    0.000    0.077    0.001 modern.py:70(footer)
      100    0.061    0.001    0.074    0.001 wikidicts.py:300(scandicts)
     3400    0.050    0.000    0.072    0.000 wikiutil.py:819(link_tag)
      100    0.003    0.000    0.067    0.001 __init__.py:510(pageinfo)
      200    0.003    0.000    0.063    0.000 editlog.py:57(getEditor)
      200    0.004    0.000    0.050    0.000 editlog.py:35(getEditorData)
      100    0.003    0.000    0.049    0.000 __init__.py:282(navibar)
      100    0.009    0.000    0.048    0.000 request.py:1407(__init__)
     6500    0.029    0.000    0.047    0.000 request.py:1513(write)
      300    0.018    0.000    0.045    0.000 user.py:207(__init__)
      200    0.006    0.000    0.041    0.000 Page.py:363(_last_edited)
      400    0.004    0.000    0.040    0.000 __init__.py:205(splitNavilink)
     6400    0.037    0.000    0.037    0.000 posixpath.py:168(exists)
      100    0.005    0.000    0.036    0.000 request.py:64(__init__)
     4800    0.018    0.000    0.033    0.000 Page.py:24(Page)
      100    0.005    0.000    0.027    0.000 __init__.py:793(actionsMenu)
     3900    0.006    0.000    0.022    0.000 request.py:132(<lambda>)
      200    0.007    0.000    0.019    0.000 user.py:341(load_from_id)

patch-510

Requests per second:    21.43 [#/sec] (mean)

         208460 function calls (203260 primitive calls) in 1.519 CPU seconds

   Ordered by: cumulative time, internal time, call count
   List reduced from 267 to 40 due to restriction <40>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      100    0.009    0.000    1.470    0.015 request.py:670(run)
      100    0.039    0.000    1.364    0.014 Page.py:767(send_page)
      100    0.017    0.000    0.653    0.007 wikiutil.py:977(send_title)
      100    0.010    0.000    0.459    0.005 Page.py:1099(send_page_content)
     8200    0.049    0.000    0.448    0.000 Page.py:244(getPageStatus)
11200/6000    0.101    0.000    0.426    0.000 Page.py:123(get_rev)
      100    0.035    0.000    0.424    0.004 FrontPage:2(?)
     5300    0.029    0.000    0.405    0.000 Page.py:432(exists)
     8200    0.044    0.000    0.387    0.000 Page.py:179(getPageBasePath)
      100    0.005    0.000    0.350    0.004 modern.py:18(header)
     2800    0.040    0.000    0.319    0.000 Page.py:667(link_to)
     2000    0.021    0.000    0.304    0.000 text_html.py:212(pagelink)
     1300    0.045    0.000    0.282    0.000 wikiutil.py:434(getSysPage)
      200    0.006    0.000    0.199    0.001 __init__.py:917(editbar)
      700    0.011    0.000    0.175    0.000 security.py:52(<lambda>)
      200    0.016    0.000    0.150    0.001 Page.py:372(lastEditInfo)
     3700    0.019    0.000    0.149    0.000 Page.py:26(__init__)
     5300    0.139    0.000    0.147    0.000 Page.py:90(get_current_from_pagedir)
     3700    0.060    0.000    0.131    0.000 Page.py:63(reset)
     5300    0.088    0.000    0.130    0.000 Page.py:106(get_rev_dir)
      100    0.001    0.000    0.121    0.001 wikiutil.py:1206(send_footer)
      100    0.003    0.000    0.118    0.001 modern.py:51(footer)
      200    0.003    0.000    0.109    0.001 __init__.py:757(shouldShowEditbar)
      100    0.003    0.000    0.107    0.001 __init__.py:280(navibar)
      400    0.005    0.000    0.097    0.000 __init__.py:203(splitNavilink)
      100    0.004    0.000    0.095    0.001 __init__.py:517(pageinfo)
     4900    0.032    0.000    0.093    0.000 Page.py:275(getPagePath)
      200    0.003    0.000    0.080    0.000 editlog.py:57(getEditor)
      700    0.004    0.000    0.080    0.000 wikiacl.py:185(may)
     1100    0.008    0.000    0.076    0.000 request.py:140(__getattr__)
     3200    0.049    0.000    0.073    0.000 wikiutil.py:840(link_tag)
      100    0.002    0.000    0.073    0.001 request.py:1530(finish)
      100    0.071    0.001    0.071    0.001 request.py:1050(finish)
      100    0.004    0.000    0.068    0.001 request.py:550(initdicts)
      200    0.004    0.000    0.067    0.000 editlog.py:35(getEditorData)
      100    0.051    0.001    0.064    0.001 wikidicts.py:300(scandicts)
      100    0.005    0.000    0.059    0.001 __init__.py:800(actionsMenu)
     1100    0.003    0.000    0.057    0.000 Page.py:299(_text_filename)
      700    0.007    0.000    0.056    0.000 Page.py:1374(getACL)
      100    0.004    0.000    0.049    0.000 request.py:360(getAvailableActions)

MoinMoin: MoinProfiling/FrontPage (last edited 2007-10-29 19:20:42 by localhost)