summaryrefslogtreecommitdiff
path: root/docs/examples/tutorial/profiling_tutorial
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/tutorial/profiling_tutorial')
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi.py18
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi_2.py12
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi_2.pyx24
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi_3.py15
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi_3.pyx27
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi_4.py17
-rw-r--r--docs/examples/tutorial/profiling_tutorial/calc_pi_4.pyx33
-rw-r--r--docs/examples/tutorial/profiling_tutorial/often_called.py5
-rw-r--r--docs/examples/tutorial/profiling_tutorial/often_called.pyx10
-rw-r--r--docs/examples/tutorial/profiling_tutorial/profile.py18
-rw-r--r--docs/examples/tutorial/profiling_tutorial/profile_2.py24
11 files changed, 123 insertions, 80 deletions
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi.py b/docs/examples/tutorial/profiling_tutorial/calc_pi.py
index bc265e560..3775eb816 100644
--- a/docs/examples/tutorial/profiling_tutorial/calc_pi.py
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi.py
@@ -1,10 +1,8 @@
-# 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
+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/calc_pi_2.py b/docs/examples/tutorial/profiling_tutorial/calc_pi_2.py
new file mode 100644
index 000000000..b05eeedb5
--- /dev/null
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi_2.py
@@ -0,0 +1,12 @@
+# cython: profile=True
+import cython
+
+def recip_square(i: cython.longlong):
+ return 1. / i ** 2
+
+def approx_pi(n: cython.int = 10000000):
+ val: cython.double = 0.
+ k: cython.int
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi_2.pyx b/docs/examples/tutorial/profiling_tutorial/calc_pi_2.pyx
index dab8d238d..485bbabf8 100644
--- a/docs/examples/tutorial/profiling_tutorial/calc_pi_2.pyx
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi_2.pyx
@@ -1,13 +1,11 @@
-# cython: profile=True
-
-# calc_pi.pyx
-
-def recip_square(int i):
- return 1. / i ** 2
-
-def approx_pi(int n=10000000):
- cdef double val = 0.
- cdef int k
- for k in range(1, n + 1):
- val += recip_square(k)
- return (6 * val) ** .5
+# cython: profile=True
+
+def recip_square(int i):
+ return 1. / i ** 2
+
+def approx_pi(int n=10000000):
+ cdef double val = 0.
+ cdef int k
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi_3.py b/docs/examples/tutorial/profiling_tutorial/calc_pi_3.py
new file mode 100644
index 000000000..df3dfa3a1
--- /dev/null
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi_3.py
@@ -0,0 +1,15 @@
+# cython: profile=True
+import cython
+
+@cython.cfunc
+@cython.inline
+@cython.exceptval(-1.0)
+def recip_square(i: cython.longlong) -> cython.double:
+ return 1. / (i * i)
+
+def approx_pi(n: cython.int = 10000000):
+ val: cython.double = 0.
+ k: cython.int
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi_3.pyx b/docs/examples/tutorial/profiling_tutorial/calc_pi_3.pyx
index 0f0bdb18a..742991b1a 100644
--- a/docs/examples/tutorial/profiling_tutorial/calc_pi_3.pyx
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi_3.pyx
@@ -1,13 +1,14 @@
-# cython: profile=True
-
-# calc_pi.pyx
-
-cdef inline double recip_square(int i):
- return 1. / (i * i)
-
-def approx_pi(int n=10000000):
- cdef double val = 0.
- cdef int k
- for k in range(1, n + 1):
- val += recip_square(k)
- return (6 * val) ** .5
+# cython: profile=True
+
+
+
+
+cdef inline double recip_square(long long i) except -1.0:
+ return 1. / (i * i)
+
+def approx_pi(int n=10000000):
+ cdef double val = 0.
+ cdef int k
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi_4.py b/docs/examples/tutorial/profiling_tutorial/calc_pi_4.py
new file mode 100644
index 000000000..b457cd99d
--- /dev/null
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi_4.py
@@ -0,0 +1,17 @@
+# cython: profile=True
+
+import cython
+
+@cython.profile(False)
+@cython.cfunc
+@cython.inline
+@cython.exceptval(-1.0)
+def recip_square(i: cython.longlong) -> float:
+ return 1. / (i * i)
+
+def approx_pi(n: cython.int = 10000000):
+ val: cython.double = 0.
+ k: cython.int
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/calc_pi_4.pyx b/docs/examples/tutorial/profiling_tutorial/calc_pi_4.pyx
index ab3f9ea9f..415ac4a22 100644
--- a/docs/examples/tutorial/profiling_tutorial/calc_pi_4.pyx
+++ b/docs/examples/tutorial/profiling_tutorial/calc_pi_4.pyx
@@ -1,16 +1,17 @@
-# cython: profile=True
-
-# calc_pi.pyx
-
-cimport cython
-
-@cython.profile(False)
-cdef inline double recip_square(int i):
- return 1. / (i * i)
-
-def approx_pi(int n=10000000):
- cdef double val = 0.
- cdef int k
- for k in range(1, n + 1):
- val += recip_square(k)
- return (6 * val) ** .5
+# cython: profile=True
+
+cimport cython
+
+
+
+
+@cython.profile(False)
+cdef inline double recip_square(long long i) except -1.0:
+ return 1. / (i * i)
+
+def approx_pi(int n=10000000):
+ cdef double val = 0.
+ cdef int k
+ for k in range(1, n + 1):
+ val += recip_square(k)
+ return (6 * val) ** .5
diff --git a/docs/examples/tutorial/profiling_tutorial/often_called.py b/docs/examples/tutorial/profiling_tutorial/often_called.py
new file mode 100644
index 000000000..15197cb97
--- /dev/null
+++ b/docs/examples/tutorial/profiling_tutorial/often_called.py
@@ -0,0 +1,5 @@
+import cython
+
+@cython.profile(False)
+def my_often_called_function():
+ pass
diff --git a/docs/examples/tutorial/profiling_tutorial/often_called.pyx b/docs/examples/tutorial/profiling_tutorial/often_called.pyx
index 77c689c9c..3699dce4f 100644
--- a/docs/examples/tutorial/profiling_tutorial/often_called.pyx
+++ b/docs/examples/tutorial/profiling_tutorial/often_called.pyx
@@ -1,5 +1,5 @@
-cimport cython
-
-@cython.profile(False)
-def my_often_called_function():
- pass
+cimport cython
+
+@cython.profile(False)
+def my_often_called_function():
+ pass
diff --git a/docs/examples/tutorial/profiling_tutorial/profile.py b/docs/examples/tutorial/profiling_tutorial/profile.py
index 1c12bf971..c0b76472a 100644
--- a/docs/examples/tutorial/profiling_tutorial/profile.py
+++ b/docs/examples/tutorial/profiling_tutorial/profile.py
@@ -1,10 +1,8 @@
-# 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()
+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()
diff --git a/docs/examples/tutorial/profiling_tutorial/profile_2.py b/docs/examples/tutorial/profiling_tutorial/profile_2.py
index 38fb50104..ca5ca514b 100644
--- a/docs/examples/tutorial/profiling_tutorial/profile_2.py
+++ b/docs/examples/tutorial/profiling_tutorial/profile_2.py
@@ -1,13 +1,11 @@
-# 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()
+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()