Profiling information is generated using the standard Python profiler. To learn how to interpret the profiler statistics, see the Python profiler documentation . *Sort*: *Limit*: *Full Dirs*: *Mode*: Wed Apr 29 15:56:15 2009 osi.profile 8653179 function calls (8414575 primitive calls) in 35.332 CPU seconds Ordered by: cumulative time List reduced from 483 to 100 due to restriction <100> ncalls tottime percall cumtime percall filename:lineno(function) 1000 0.020 0.000 35.997 0.036 profiler.py:132(run_app) 1000 0.089 0.000 35.973 0.036 router.py:76(__call__) 77000/2000 0.276 0.000 35.332 0.018 registry.py:215(queryMultiAdapter) 77000/2000 0.624 0.000 35.322 0.018 adapter.py:477(queryMultiAdapter) 1000 0.041 0.000 35.222 0.035 retail.py:30(retail_view) 2000 0.159 0.000 26.725 0.013 retail.py:55(_get_portlet_html) 4000 0.492 0.000 22.879 0.006 adapters.py:103(asHTML) 8000 0.422 0.000 19.993 0.002 adapters.py:84(entries) 3000 0.023 0.000 9.677 0.003 chameleon_zpt.py:28(__call__) 3000 0.018 0.000 9.653 0.003 template.py:42(__call__) 62000 0.547 0.000 9.640 0.000 url.py:11(model_url) 3000 0.032 0.000 9.636 0.003 template.py:263(render) 3000 0.044 0.000 9.603 0.003 template.py:15(render) 3000 0.031 0.000 9.319 0.003 template.py:121(render) 45000 0.749 0.000 9.218 0.000 traversal.py:56(find_model) 8000/3000 0.109 0.000 9.106 0.003 template.py:133(render_template) 40000 0.219 0.000 8.711 0.000 adapters.py:60(resolver) 1000 0.025 0.000 7.352 0.007 chameleon_zpt.py:67(render_template_to_response) 62000 0.698 0.000 6.290 0.000 traversal.py:431(__call__) 46000 2.495 0.000 6.249 0.000 traversal.py:372(__call__) 779305/710281 1.092 0.000 5.701 0.000 {getattr} 177000 0.408 0.000 5.438 0.000 codegen.py:25(lookup_attr) 75000 0.386 0.000 5.294 0.000 _api.py:107(queryMultiAdapter) 5000 0.030 0.000 5.250 0.001 template.py:307(render) 5000 0.047 0.000 5.208 0.001 template.py:20(render_macro) 5000 0.053 0.000 5.002 0.001 template.py:125(render_macro) 70000 0.810 0.000 4.113 0.000 traversal.py:130(model_path) 8000 0.138 0.000 4.092 0.001 adapters.py:133(_query) 1000 0.148 0.000 3.623 0.004 api.py:203(intranets_info) 2000 0.027 0.000 2.965 0.001 chameleon_zpt.py:58(render_template) 649000 1.321 0.000 2.808 0.000 {method 'providedBy' of '_interface_coptimizations.SpecificationBase' objects} 70000 1.321 0.000 2.744 0.000 traversal.py:213(_model_path_list) 13000 0.053 0.000 2.565 0.000 _api.py:101(getMultiAdapter) 103000 0.594 0.000 2.525 0.000 decorator.py:87(__get__) 1000 0.006 0.000 2.407 0.002 adapters.py:415(asHTML) 757000 1.640 0.000 2.358 0.000 location.py:61(lineage) 13000 0.049 0.000 2.097 0.000 utils.py:29(find_site) 14000 0.251 0.000 2.086 0.000 traversal.py:119(find_interface) 63000 0.498 0.000 2.006 0.000 __init__.py:648(application_url) 1000 0.735 0.001 1.996 0.002 :10(render) 8000 0.042 0.000 1.810 0.000 adapters.py:50(__init__) 143227 0.710 0.000 1.810 0.000 {map} 8000 0.039 0.000 1.768 0.000 utils.py:39(find_catalog) 103000 0.287 0.000 1.615 0.000 declarations.py:1179(ObjectSpecification) 12000 0.060 0.000 1.386 0.000 content.py:47(get_content_type) 103000 0.350 0.000 1.328 0.000 declarations.py:695(Provides) 220000 0.851 0.000 1.295 0.000 __init__.py:82(__getitem__) 45000 0.570 0.000 1.291 0.000 traversal.py:44(find_root) 12000 0.643 0.000 1.291 0.000 content.py:23(get_content_types) 8000 0.108 0.000 1.212 0.000 adapters.py:56(__call__) 8000 0.171 0.000 0.984 0.000 catalog.py:47(search) 45000 0.240 0.000 0.931 0.000 _api.py:186(adapter_hook) 220000 0.560 0.000 0.896 0.000 location.py:108(__new__) 63000 0.598 0.000 0.831 0.000 __init__.py:620(host_url) 161009 0.520 0.000 0.803 0.000 registry.py:106(getSiteManager) 4000 0.057 0.000 0.769 0.000 __init__.py:541(fragment_fromstring) 21000 0.102 0.000 0.720 0.000 template.py:254(compiler) 4000 0.203 0.000 0.708 0.000 __init__.py:507(fragments_fromstring) 1591 0.013 0.000 0.673 0.000 declarations.py:652(__init__) 4000 0.018 0.000 0.667 0.000 adapters.py:80(href) 1591 0.011 0.000 0.657 0.000 declarations.py:45(__init__) 3000 0.015 0.000 0.654 0.000 api.py:315(home_url) 63000 0.319 0.000 0.607 0.000 urllib.py:1174(quote) 220000 0.585 0.000 0.585 0.000 location.py:111(__init__) 148189 0.572 0.000 0.572 0.000 {method 'join' of 'str' objects} 13000 0.049 0.000 0.562 0.000 template.py:98(macros) 543060 0.561 0.000 0.561 0.000 {method 'append' of 'list' objects} 21003 0.105 0.000 0.559 0.000 template.py:267(mtime) 4000 0.028 0.000 0.545 0.000 templating.py:7(renderer_from_cache) 1591 0.015 0.000 0.516 0.000 interface.py:258(__init__) 1591 0.023 0.000 0.494 0.000 interface.py:275(__setBases) 1000 0.048 0.000 0.491 0.000 api.py:62(__init__) 8003 0.475 0.000 0.491 0.000 {cPickle.dumps} 1000 0.017 0.000 0.479 0.000 utils.py:244(get_user_home) 29003 0.153 0.000 0.473 0.000 _api.py:208(queryUtility) 8000 0.168 0.000 0.471 0.000 template.py:110(cook_check) 64000 0.325 0.000 0.471 0.000 __init__.py:482(lookup) 45000 0.145 0.000 0.463 0.000 registry.py:206(queryAdapter) 292000 0.462 0.000 0.462 0.000 traversal.py:326(quote_path_segment) 224000 0.439 0.000 0.439 0.000 __init__.py:198(unicodify) 4000 0.059 0.000 0.425 0.000 path.py:4(caller_path) 28000 0.211 0.000 0.415 0.000 {lxml.etree.SubElement} 1591 0.014 0.000 0.394 0.000 declarations.py:48(changed) 3000 0.011 0.000 0.390 0.000 generation.py:77(getvalue) 1591 0.071 0.000 0.380 0.000 interface.py:293(changed) 21003 0.082 0.000 0.372 0.000 posixpath.py:141(getmtime) 4000 0.305 0.000 0.346 0.000 __init__.py:1375(tostring) 224162 0.345 0.000 0.345 0.000 {built-in method __new__ of type object at 0x734ce0} 4000 0.294 0.000 0.336 0.000 __init__.py:498(document_fromstring) 46000 0.249 0.000 0.330 0.000 {method 'queryAdapter' of '_zope_interface_coptimizations.LookupBase' objects} 252554 0.330 0.000 0.330 0.000 {method 'get' of 'dict' objects} 46000 0.160 0.000 0.327 0.000 lru.py:90(lru_cached) 118003 0.315 0.000 0.317 0.000 {method 'lookup' of '_zope_interface_coptimizations.LookupBase' objects} 4000 0.026 0.000 0.300 0.000 path.py:13(package_path) 21006 0.290 0.000 0.290 0.000 {posix.stat} 12000 0.285 0.000 0.285 0.000 {method 'strftime' of 'datetime.date' objects} 161009 0.283 0.000 0.283 0.000 registry.py:62(get) 103000 0.279 0.000 0.279 0.000 weakref.py:88(get) 1591 0.010 0.000 0.278 0.000 ro.py:21(ro) 40000 0.150 0.000 0.248 0.000 document.py:139(address_for_docid)