summaryrefslogtreecommitdiff
path: root/tools/dev/profile_docutils.py
blob: 1f79c655efe0cafb97268a02f3f96b63d47c3e17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python -i

# Author: Felix Wiemann
# Contact: Felix_Wiemann@ososo.de
# Revision: $Revision$
# Date: $Date$
# Copyright: This script has been placed in the public domain.

import os.path
import docutils.core
import hotshot.stats

print 'Profiler started.'

os.chdir(os.path.join(os.path.dirname(docutils.__file__), '..'))

print 'Profiling...'

prof = hotshot.Profile('docutils.prof')
prof.runcall(docutils.core.publish_file, source_path='HISTORY.txt',
             destination_path='prof.HISTORY.html', writer_name='html')
prof.close()

print 'Loading statistics...'

print """
stats = hotshot.stats.load('docutils.prof')
stats.strip_dirs()
stats.sort_stats('time')  # 'cumulative'; 'calls'
stats.print_stats(40)
"""

stats = hotshot.stats.load('docutils.prof')
stats.strip_dirs()
stats.sort_stats('time')
stats.print_stats(40)

try:
    execfile(os.environ['PYTHONSTARTUP'])
except:
    pass