[pypy-commit] extradoc extradoc: slides about v4

antocuni pypy.commits at gmail.com
Wed Jul 12 04:59:40 EDT 2017


Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: extradoc
Changeset: r5814:0383fac69aac
Date: 2017-07-12 10:50 +0200
http://bitbucket.org/pypy/extradoc/changeset/0383fac69aac/

Log:	slides about v4

diff --git a/talk/ep2017/the-joy-of-pypy-jit/bazinga.jpg b/talk/ep2017/the-joy-of-pypy-jit/bazinga.jpg
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..af860005ed4c9c216800c877ce79653d81e89219
GIT binary patch

[cut]

diff --git a/talk/ep2017/the-joy-of-pypy-jit/sobel/chart.py b/talk/ep2017/the-joy-of-pypy-jit/sobel/chart.py
--- a/talk/ep2017/the-joy-of-pypy-jit/sobel/chart.py
+++ b/talk/ep2017/the-joy-of-pypy-jit/sobel/chart.py
@@ -1,9 +1,8 @@
 import numpy as np
 import matplotlib.pyplot as plt
 
-N = 5
-CPYTHON = (4.99, 2.85, 1.62, 0.59)
-PYPY = (288.67, 278.25, 276.81, 235.91)
+CPYTHON = (4.99, 2.85, 1.62, 0.59, 0.33, 0.57)
+PYPY = (288.67, 278.25, 276.81, 256.79, 25.31, 244.36)
 
 def draw(title, values, allvalues, color):
     filename = '%s-v%d.png' % (title, len(values)-1)
@@ -30,6 +29,5 @@
     draw('PyPy', PYPY[:i], PYPY, color='r')
     draw('CPython', CPYTHON[:i], CPYTHON, color='b')
 
-
-## for i, (cpy, pypy) in enumerate(zip(CPYTHON, PYPY)):
-##     print i, pypy/cpy
+for i, (cpy, pypy) in enumerate(zip(CPYTHON, PYPY)):
+    print i, pypy/cpy
diff --git a/talk/ep2017/the-joy-of-pypy-jit/talk.rst b/talk/ep2017/the-joy-of-pypy-jit/talk.rst
--- a/talk/ep2017/the-joy-of-pypy-jit/talk.rst
+++ b/talk/ep2017/the-joy-of-pypy-jit/talk.rst
@@ -322,9 +322,78 @@
            
 |end_columns|
 
-* PyPy is ~400x faster
+* PyPy is ~435x faster
 
 
+Version 4
+----------
+
+|tiny|
+
+.. sourcecode:: python
+
+    class Kernel(object):
+
+        def __init__(self, matrix):
+            self.height = len(matrix)
+            self.width = len(matrix[0])
+            self.matrix = matrix
+
+        def __call__(self, img, p):
+            value = 0.0
+            for j, row in enumerate(self.matrix, -(self.height/2)):
+                for i, k in enumerate(row, -(self.width/2)):
+                    value += img[p + (i, j)] * k
+            return value
+
+
+    Gx = Kernel([[-1.0, 0.0, +1.0],
+                 [-2.0, 0.0, +2.0],
+                 [-1.0, 0.0, +1.0]])
+
+    Gy = Kernel([[-1.0, -2.0, -1.0],
+                 [0.0,  0.0,  0.0],
+                 [+1.0, +2.0, +1.0]])
+                
+
+    def sobel(img):
+        ...
+        dx = Gx(img, p)
+        dy = Gy(img, p)
+        ...
+
+|end_tiny|
+
+Version 4
+----------
+
+|column1|
+
+.. image:: sobel/CPython-v4.png
+   :scale: 30%
+           
+|column2|
+
+.. image:: sobel/PyPy-v4.png
+   :scale: 30%
+           
+|end_columns|
+
+* PyPy massively slower :(
+
+  - (still 76x faster than CPython)
+
+* I'm a liar
+
+* PyPy sucks
+
+Wait
+-----------------------
+
+.. image:: bazinga.jpg
+   :scale: 30%
+   :align: center
+
 The cost of abstraction
 ------------------------
 
@@ -338,7 +407,7 @@
 
   - abstractions (almost) for free
 
-  - v3 is ~20% slower than v0, v1, v2
+  - v5 is ~20% slower than v0, v1, v2
 
 
 PyPy JIT 101
@@ -602,9 +671,9 @@
 
 * "PyPy meets Python 3 and numpy"
 
-   - Armin Rigo
+  - Armin Rigo
 
-   - Friday, 14:00
+  - Friday, 14:00
 
 * Or, just talk to us :)
 


More information about the pypy-commit mailing list