summaryrefslogtreecommitdiff
path: root/docs/examples/tutorial/profiling_tutorial
diff options
context:
space:
mode:
authorgabrieldemarmiesse <gabriel.demarmiesse@teraki.com>2018-06-15 20:24:22 +0200
committergabrieldemarmiesse <gabriel.demarmiesse@teraki.com>2018-06-15 20:24:22 +0200
commit8524b09625b3c59050b568ef2735fa81ebb2159a (patch)
tree16793b0ed7985f405acb35592ab4ee8bebc55053 /docs/examples/tutorial/profiling_tutorial
parentff577a2baf4aebacd1a2f9bebd769e05e5d05ae1 (diff)
downloadcython-8524b09625b3c59050b568ef2735fa81ebb2159a.tar.gz
Moved two code snippets from profiling_tutorial to the examples directory.
Diffstat (limited to 'docs/examples/tutorial/profiling_tutorial')
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi.py10
-rw-r--r--docs/examples/tutorial/profiling_tutorial/profile.py10
2 files changed, 20 insertions, 0 deletions
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi.py b/docs/examples/tutorial/profiling_tutorial/calc_pi.py
new file mode 100644
index 000000000..bc265e560
--- /dev/null
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi.py
@@ -0,0 +1,10 @@
+# calc_pi.py
+
+def recip_square(i):
+ return 1. / i ** 2
+
+def approx_pi(n=10000000):
+ val = 0.
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/profile.py b/docs/examples/tutorial/profiling_tutorial/profile.py
new file mode 100644
index 000000000..1c12bf971
--- /dev/null
+++ b/docs/examples/tutorial/profiling_tutorial/profile.py
@@ -0,0 +1,10 @@
+# profile.py
+
+import pstats, cProfile
+
+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()