Author: Antonio Cuni <anto.c...@gmail.com>
Branch: extradoc
Changeset: r5815:f172adc02a04
Date: 2017-07-12 10:59 +0200
http://bitbucket.org/pypy/extradoc/changeset/f172adc02a04/

Log:    add slides about v5

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
@@ -394,6 +394,74 @@
    :scale: 30%
    :align: center
 
+
+Version 5
+----------
+
+|scriptsize|
+
+.. sourcecode:: python
+
+    from pypytools.codegen import Code
+
+    def Kernel(matrix):
+        height = len(matrix)
+        width = len(matrix[0])
+        code = Code()
+        with code.block('def apply(img, p):'):
+            code.w('value = 0.0')
+            for j, row in enumerate(matrix, -(height/2)):
+                for i, k in enumerate(row, -(width/2)):
+                    if k == 0:
+                        continue
+                    code.w('value += img[p+{delta}] * {k}',
+                           delta=(i, j), k=k)
+            code.w('return value')
+
+        code.compile()
+        return code['apply']
+
+|end_scriptsize|
+
+Version 5
+----------
+
+|scriptsize|
+
+.. sourcecode:: python
+
+    # GENERATED CODE
+
+    def apply(img, p):
+        value = 0.0
+        value += img[p+(-1, -1)] * -1.0
+        value += img[p+(1, -1)] * 1.0
+        value += img[p+(-1, 0)] * -2.0
+        value += img[p+(1, 0)] * 2.0
+        value += img[p+(-1, 1)] * -1.0
+        value += img[p+(1, 1)] * 1.0
+        return value
+
+|end_scriptsize|
+
+Version 5
+----------
+
+|column1|
+
+.. image:: sobel/CPython-v5.png
+   :scale: 30%
+           
+|column2|
+
+.. image:: sobel/PyPy-v5.png
+   :scale: 30%
+           
+|end_columns|
+
+* PyPy ~428x faster again
+
+
 The cost of abstraction
 ------------------------
 
@@ -407,7 +475,7 @@
 
   - abstractions (almost) for free
 
-  - v5 is ~20% slower than v0, v1, v2
+  - v5 is ~18% slower than v0, v1, v2
 
 
 PyPy JIT 101
@@ -417,7 +485,15 @@
 
 * Which code is optimized away?
 
+* Very rough explanation
+
+* For a deeper view:
   
+  - http://speakerdeck.com/u/antocuni/p/pypy-jit-under-the-hood
+
+  - http://www.youtube.com/watch?v=cMtBUvORCfU
+
+
 Loops and guards
 -----------------
 
@@ -677,3 +753,4 @@
 
 * Or, just talk to us :)
 
+* @pypyproject, @antocuni
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to