summaryrefslogtreecommitdiff
path: root/tools/dev/profile_docutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/dev/profile_docutils.py')
-rwxr-xr-xtools/dev/profile_docutils.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/dev/profile_docutils.py b/tools/dev/profile_docutils.py
new file mode 100755
index 000000000..1f79c655e
--- /dev/null
+++ b/tools/dev/profile_docutils.py
@@ -0,0 +1,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