[pypy-commit] extradoc extradoc: progress

rlamy noreply at buildbot.pypy.org
Thu Sep 18 06:04:10 CEST 2014


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: extradoc
Changeset: r5403:ef0fa11803c3
Date: 2014-09-17 21:09 +0100
http://bitbucket.org/pypy/extradoc/changeset/ef0fa11803c3/

Log:	progress

diff --git a/talk/pycon-uk-2014/Makefile b/talk/pycon-uk-2014/Makefile
--- a/talk/pycon-uk-2014/Makefile
+++ b/talk/pycon-uk-2014/Makefile
@@ -1,6 +1,5 @@
 talk.pdf: talk.rst author.latex stylesheet.latex
-	rst2beamer --stylesheet=stylesheet.latex --documentoptions=14pt talk.rst talk.latex || exit
-	#/home/antocuni/.virtualenvs/rst2beamer/bin/python `which rst2beamer.py` --stylesheet=stylesheet.latex --documentoptions=14pt talk.rst talk.latex || exit
+	rst2beamer --stylesheet=stylesheet.latex --documentoptions=14pt --overlaybullets=False talk.rst talk.latex || exit
 	sed 's/\\date{}/\\input{author.latex}/' -i talk.latex || exit
 	#sed 's/\\maketitle/\\input{title.latex}/' -i talk.latex || exit
 	pdflatex talk.latex  || exit
diff --git a/talk/pycon-uk-2014/author.latex b/talk/pycon-uk-2014/author.latex
--- a/talk/pycon-uk-2014/author.latex
+++ b/talk/pycon-uk-2014/author.latex
@@ -1,8 +1,8 @@
 \definecolor{rrblitbackground}{rgb}{0.0, 0.0, 0.0}
 
-\title[PyPy Status]{PyPy Status\\\small{(no, PyPy is not dead)}}
-\author[antocuni]
-{Antonio Cuni}
+\title{PyPy and its ecosystem}
+\author[Ronan Lamy]{Ronan Lamy\\
+\includegraphics[width=80px]{../img/py-web-new.png}}
 
-\institute{PyCon Cinque}
-\date{May 24, 2014}
+\institute{Pycon UK}
+\date{19 September 2014}
diff --git a/talk/pycon-uk-2014/talk.rst b/talk/pycon-uk-2014/talk.rst
--- a/talk/pycon-uk-2014/talk.rst
+++ b/talk/pycon-uk-2014/talk.rst
@@ -1,106 +1,53 @@
 .. include:: beamerdefs.txt
 
-================================
-PyPy Status
-================================
+===========================
+PyPy and its ecosystem
+===========================
 
 About me
 ---------
 
 - PyPy core dev
 
-- ``pdb++``, ``fancycompleter``, ...
+- Working on HippyVM
 
-- Consultant, trainer
-
-- http://antocuni.eu
-
-
-PyPy is not dead
-----------------
-
-- No PyPy status talk at EuroPython 2013
-
-  * for the first time since 2004!
-
-  * for no good reason :)
-
-- PyPy is healthy and alive
-
-|pause|
-
-- WARNING: This talk is boring
-
-  * "it just works"
 
 What is PyPy?
 --------------
 
-* RPython toolchain
+- "PyPy is a fast, compliant alternative implementation of the Python language (2.7.8 and 3.2.5)."
 
-  - subset of Python
+- Python interpreter
 
-  - ideal for writing VMs
+  * written in RPython
 
-  - JIT & GC for free
+  * **FAST**
 
-* Python interpreter
 
-  - written in RPython
+What is RPython?
+----------------
 
-  - **FAST**
+- Subset of Python
 
-* Whatever (dynamic) language you want
+  * easy to read
 
-  - smalltalk, prolog, PHP, javascript, ...
+  * easy to test
 
+- JIT & GC for free
 
-PyPy: past two years (1)
------------------------------
+- General framework for dynamic languages
 
-- PyPy 2.0 (May 2013)
 
-  * beta ARM, CFFI, unicode performance
-
-  * stackless + JIT (eventlet, gevent, ...)
-
-|pause|
-
-- PyPy 2.1 (July 2013)
-
-  * stable ARM
-
-  * py3k (3.2.3), numpy, general improvements, bugfixes
-
-|pause|
-
-- PyPy 2.2 (November 2013)
-
-  * incremental GC, faster JSON
-
-  * more JIT, more py3k
-
-  * more numpy, numpy C API
-
-
-PyPy: past two years (2)
+RPython-powered languages
 -------------------------
 
-- PyPy 2.3 (May 2014)
+- **PyPy**
 
-- Lot of internal refactoring
+- HippyVM: implementing PHP
 
-- C API for embedding
+  * ~7x faster than standard PHP
 
-  * pypy + uWSGI (thanks to Roberto De Ioris)
-
-- the usual, boring, general improvements
-
-
-More PyPy-powered languages
-----------------------------
-
-- RPython: general framework for dynamic languages
+  * http://hippyvm.com/
 
 - Topaz: implementing Ruby
 
@@ -110,28 +57,152 @@
 
   * https://github.com/topazproject/topaz
 
-- HippyVM: implementing PHP
+- Pyrolog (Prolog)
 
-  * ~7x faster than standard PHP
+- RTruffleSOM (Smalltalk)
 
-  * http://hippyvm.com/
+- RSqueakVM (Smalltalk)
 
+- lang-js (JavaScript)
 
 
-Fundraising campaign
----------------------
+RPython translation stages
+--------------------------
 
-- py3k: 50'852 $ of 105'000 $ (48.4%)
+- (R)Python code
 
-- numpy: 48'121 $ of 60'000 $ (80.2%)
+|pause|
 
-- STM, 1st call: 25'000 $
+- ``import``
 
-- STM, 2nd call: 2'097 $ of 80'000 $ (2.6%)
+  * Python objects (functions, classes, ...)
 
-  * more on STM later
+|pause|
 
-- thank to all donors!
+- Bytecode analysis, type inference
+
+  * Typed control flow graph
+
+|pause|
+
+- Translator transformations
+
+  * Add GC & JIT
+
+|pause|
+
+- Code generation
+
+  * C code
+
+|pause|
+
+- ``gcc``
+
+  * Compiled executable
+
+
+How does the JIT work?
+----------------------
+
+|pause|
+
+- "Jitcode": very low-level byte code
+
+  * Translates to machine code
+
+- Translation time
+
+  * Add jitcode representation to RPython functions
+
+- Run-time:
+
+  * Detect **hot** loop
+
+  * Trace one code path through the loop
+
+  * Compile (magic!)
+
+  * Profit!
+
+
+RPython example (HippyVM)
+-------------------------
+
+|scriptsize|
+
+.. code:: python
+
+    @wrap(['space', str, W_Root, Optional(int)])
+    def strpos(space, haystack, w_needle, offset=0):
+        """Find the position of the first occurrence of a substring in a string."""
+        if offset < 0 or offset > len(haystack):
+            space.ec.warn("strpos(): Offset not contained in string")
+            return space.w_False
+        try:
+            needle = unwrap_needle(space, w_needle)
+        except ValidationError as exc:
+            space.ec.warn("strpos(): " + exc.msg)
+            return space.w_False
+        if len(needle) == 0:
+            space.ec.warn("strpos(): Empty needle")
+            return space.w_False
+
+        result = haystack.find(needle, offset)
+
+        if result == -1:
+            return space.w_False
+        return space.newint(result)
+
+|end_scriptsize|
+
+PyPy: past two years (1)
+-----------------------------
+
+- PyPy 2.0 (May 2013)
+
+  * Beta ARM, CFFI, unicode performance
+
+  * stackless + JIT (eventlet, gevent, ...)
+
+|pause|
+
+- PyPy 2.1 (July 2013)
+
+  * Stable ARM
+
+  * py3k (3.2.3), numpy, general improvements, bugfixes
+
+|pause|
+
+- PyPy 2.2 (November 2013)
+
+  * Incremental GC, faster JSON
+
+  * More JIT, more py3k
+
+  * More numpy, numpy C API
+
+
+PyPy: past two years (2)
+-------------------------
+
+- PyPy 2.3 (May 2014)
+
+  * Lot of internal refactoring
+
+  * C API for embedding
+
+  * General improvements
+
+|pause|
+
+- PyPy 2.4 (coming soon!)
+
+  * Python 2.7.8 stdlib
+
+  * General fixes and improvements 
+
 
 Current status
 ---------------
@@ -171,25 +242,9 @@
 
 - ~7.5x faster than CPython on ARM
 
-- thanks to Raspberry-Pi foundation
+- Thanks to Raspberry-Pi foundation
 
-- distributed as part of Raspbian OS
-
-
-numpy
------
-
-- as usual, in-progress
-
-- ~80% of numpy implemented
-
-  * 2336 passing tests out of 3265
-
-  * http://buildbot.pypy.org/numpy-status/latest.html
-
-- just try it
-
-- no scipy :-/
+- Distributed as part of Raspbian OS
 
 
 py3k
@@ -199,7 +254,7 @@
 
 - 3.3: branch started, in-progress
 
-- some missing optimizations
+- Some missing optimizations
 
   * getting better
 
@@ -220,6 +275,22 @@
 - Fast on CPython, super-fast on PyPy
 
 
+numpy
+-----
+
+- As usual, in-progress
+
+- ~80% of numpy implemented
+
+  * 2336 passing tests out of 3265
+
+  * http://buildbot.pypy.org/numpy-status/latest.html
+
+- Just try it
+
+- No scipy :-/
+
+
 cppyy
 ------
 
@@ -303,7 +374,7 @@
 
 - With atomic blocks
 
-  * ==> Rollaback
+  * ==> Rollback
 
   * Performance penalty
 
@@ -315,7 +386,7 @@
 Implementation
 ---------------
 
-- Conflicts detection, commit and rollaback is costly
+- Conflicts detection, commit and rollback is costly
 
 - Original goal (2011): 2x-5x slower than PyPy without STM
 
@@ -339,6 +410,20 @@
 - Lots of polishing needed
 
 
+Fundraising campaign
+---------------------
+
+- py3k: 52,380 $ of 105,000 $ (49.9%)
+
+- numpy: 48,412 $ of 60,000 $ (80.7%)
+
+- STM, 1st call: 25,000 $
+
+- STM, 2nd call: 13,939 $ of 80,000 $ (17.4%)
+
+- Thanks to all donors!
+
+
 Contacts, Q&A
 --------------
 
@@ -346,13 +431,6 @@
 
 - http://morepypy.blogspot.com/
 
-- twitter: @antocuni
-
-- Available for consultancy & training:
-
-  * http://antocuni.eu
-
-  * info at antocuni.eu
+- IRC: #pypy at freenode.net
 
 - Any question?
-


More information about the pypy-commit mailing list