Commit af951dcf authored by scoder's avatar scoder Committed by GitHub

Merge pull request #2358 from gabrieldemarmiesse/test_profiling_tutorial_3

Added tests to "profiling tutorial" part 3
parents fb7cbb83 d39d579a
# profile.py
import pstats, cProfile
import pyximport
pyximport.install()
import calc_pi
cProfile.runctx("calc_pi.approx_pi()", globals(), locals(), "Profile.prof")
s = pstats.Stats("Profile.prof")
s.strip_dirs().sort_stats("time").print_stats()
...@@ -182,23 +182,9 @@ meaningful output from the cProfile module. The rest of the code is mostly ...@@ -182,23 +182,9 @@ meaningful output from the cProfile module. The rest of the code is mostly
unchanged, I only typed some variables which will likely speed things up a bit. unchanged, I only typed some variables which will likely speed things up a bit.
We also need to modify our profiling script to import the Cython module directly. We also need to modify our profiling script to import the Cython module directly.
Here is the complete version adding the import of the :ref:`Pyximport<pyximport>` module:: Here is the complete version adding the import of the :ref:`Pyximport<pyximport>` module:
#!/usr/bin/env python .. literalinclude:: ../../examples/tutorial/profiling_tutorial/profile_2.py
# encoding: utf-8
# filename: profile.py
import pstats, cProfile
import pyximport
pyximport.install()
import calc_pi
cProfile.runctx("calc_pi.approx_pi()", globals(), locals(), "Profile.prof")
s = pstats.Stats("Profile.prof")
s.strip_dirs().sort_stats("time").print_stats()
We only added two lines, the rest stays completely the same. Alternatively, we could also We only added two lines, the rest stays completely the same. Alternatively, we could also
manually compile our code into an extension; we wouldn't need to change the manually compile our code into an extension; we wouldn't need to change the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment