[pypy-commit] extradoc extradoc: Updates
arigo
pypy.commits at gmail.com
Fri Jul 14 04:50:37 EDT 2017
Author: Armin Rigo <arigo at tunes.org>
Branch: extradoc
Changeset: r5818:ec3ca5da8208
Date: 2017-07-14 10:50 +0200
http://bitbucket.org/pypy/extradoc/changeset/ec3ca5da8208/
Log: Updates
diff --git a/talk/ep2017/pypy-whats-new/Makefile b/talk/ep2017/pypy-whats-new/Makefile
--- a/talk/ep2017/pypy-whats-new/Makefile
+++ b/talk/ep2017/pypy-whats-new/Makefile
@@ -4,3 +4,4 @@
slides.tex: slides.rst
rst2beamer.py slides.rst > slides.tex
sed 's/\\date{}/\\input{author.latex}/' -i slides.tex || exit
+ sed 's/\\documentclass\[\]{beamer}/\\documentclass\[aspectratio=169\]{beamer}/' -i slides.tex || exit
diff --git a/talk/ep2017/pypy-whats-new/slides.rst b/talk/ep2017/pypy-whats-new/slides.rst
--- a/talk/ep2017/pypy-whats-new/slides.rst
+++ b/talk/ep2017/pypy-whats-new/slides.rst
@@ -22,13 +22,12 @@
* PyPy is another implementation of Python
-* Supports only Python 2.7... up to this year
+* Mostly, drop-in replacement
+
+* Supports Python 2.7, and almost Python 3.5
* Comes with a JIT, good performance
-* Mostly, drop-in replacement
-
-
PyPy 3.5
============================================================
@@ -36,9 +35,13 @@
PyPy 3.5
==========
-* Python 3.5 support released in **beta**
+* Python 3.5 support released in *gamma*
-* Drop-in replacement for ``python3.5``
+ - as stable (and mostly as fast) as PyPy 2.7, same JIT/GC/etc.
+
+ - what could be wrong is a few details everywhere
+
+ - please try it and *report issues!*
* Thanks to Mozilla for funding this work!
@@ -49,7 +52,7 @@
* Async HTTP benchmarks:
.. image:: graphs.png
- :scale: 21%
+ :scale: 26%
PyPy 3.5 status
@@ -61,7 +64,7 @@
* Tested mostly on Linux so far
-* Non-beta to be released "soon" (i.e. some time in 2017 I guess)
+* First "final" to be released soon (i.e. some time in 2017 I guess)
* Python 3.6 to follow
@@ -96,7 +99,8 @@
* On both PyPy 2.7 and PyPy 3.5
-* The rest of the scientific stack mostly works too (Pandas etc.)
+* The rest of the scientific stack mostly works too (Jupyter,
+ Matplotlib, Pandas, etc.)
Cython, cpyext
@@ -104,9 +108,9 @@
* Cython mostly works
-* Any CPython C extension module mostly works
+* Actually, any CPython C extension module mostly works
-* This is all thanks to ``cpyext``, our CPython C API emulation layer
+* Thanks to ``cpyext``, our CPython C API emulation layer
Performance?
@@ -114,16 +118,25 @@
* Numpy/Pandas/etc. are all slow-ish at the Python-C boundary
-* Less so than last year
+* Less so than last year but still
* Complex algorithms written inside Numpy in C or Fortran have the same
speed, of course
+ - lots of ``ndarray[index]``: slow
+
+ - one call to ``numpy.linalg.eig()``: fast
+
+ - speed hack: ``p = ffi.cast("double *", ffi.from_buffer(ndarray))``
+
Performance?
==============
-* Basically: try it out on your own code
+* We have plans to improve
+
+* For now: try it out on your own code and see
+
@@ -135,6 +148,10 @@
* ``pypy-stm``: getting rid of the Global Interpreter Lock
+
+Software Transactional Memory
+=============================
+
* ...unfortunately, this approach does not seem to work :-(
@@ -149,8 +166,12 @@
* As long as there is one, performance is bad
+* You may fix enough to get good performance... but:
+
* Continue developing the program, and you'll often reintroduce conflicts
+* (Also, hard to test for, reliably)
+
PyPy-nogil?
===========
@@ -165,7 +186,7 @@
Reverse Debugger
================
-* The essential tool you need once a year
+* RevDB: The essential tool you need once a year
Reverse Debugger
@@ -173,7 +194,7 @@
* Debugger with the ability to go forward *and backward in time*
-* Watchpoints to know when a value changes when going in either
+* Watchpoints to know when a value changes, while going in either
direction
* http://bitbucket.org/pypy/revdb
@@ -194,19 +215,21 @@
VMProf
=====================
+* A good high-performance profiler for Python code
+
* ``pip install vmprof``
* Works on CPython and on PyPy
-* A "good" high-performance profiler for Python code
-
* The PyPy version shows the machine code generated by the JIT
CFFI improvements
=======================
-* CFFI: calling C from Python (from CPython or PyPy)
+* CFFI: calling C from Python or the other way around
+
+* Works identically on CPython and on PyPy
* Biggest improvement of last year is *embedding*
More information about the pypy-commit
mailing list