1. Pypy
  2. Untitled project
  3. extradoc

Commits

Armin Rigo  committed 98ba962

The final talk, with pdf

  • Participants
  • Parent commits 9cdffd5
  • Branches extradoc

Comments (0)

Files changed (4)

File talk/pycon2013/pypy_without_gil/Makefile

View file
 # http://bitbucket.org/antocuni/env/src/619f486c4fad/bin/inkscapeslide.py
 
 
-talk.pdf: talk.rst author.latex title.latex stylesheet.latex
-	rst2beamer --stylesheet=stylesheet.latex --documentoptions=14pt talk.rst talk.latex || exit
+talk.pdf: talk.rst author.latex stylesheet.latex
+	rst2beamer.py --input-encoding=utf8 --output-encoding=utf8 --stylesheet=stylesheet.latex --documentoptions=14pt 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

File talk/pycon2013/pypy_without_gil/author.latex

View file
 \author[arigo, fijal]
 {Armin Rigo \\ Maciej Fijałkowski}
 
-\institute{Pycon US 2013}
+\institute{PyCon US 2013}
 \date{March 15 2013}

File talk/pycon2013/pypy_without_gil/talk.pdf

Binary file added.

File talk/pycon2013/pypy_without_gil/talk.rst

View file
 Intro
 -----
 
-* PyPy is a Python interpreter with stuff (like JIT, STM, ...)
+* PyPy is a Python interpreter with stuff
 
-* No PyPy talk this year, find us around, come to BoF
+* No general PyPy talk this year, find us around, come to the BoF (tomorrow 2pm)
+
+
+This is about...
+----------------
+
+* This talk is about using multiple cores to achieve better performance
+
+* in Python (or any other existing, non-trivial, non-functional,
+  non-designed-for-this-problem, language)
+
 
 Problem
 -------
 
 * ``__pypy__.thread.atomic``
 
-::
-    with atomic:
-         print "hello", username
+* ``with atomic:`` ``print "hello",`` ``username``
 
 * the illusion of serialization
 
   and stop progress in the other threads
 
 
-* __pypy__.thread.last_abort_info() -> traceback-like information
+* ``__pypy__.thread.last_abort_info()`` -> traceback-like information
 
 Alternative - HTM
 -----------------
 
-XXX
+* Intel Haswell (released soon) has got HTM
 
-Higher level: not threads
----------------------------
+* great for the "remove the GIL" part
+
+* not so great for large transactions, at least for now
+
+
+Higher level: Threads Are Bad
+-----------------------------
 
 - based on (and fully compatible with) threads
 
 
 - but opens up unexpected alternatives
 
-  * we can run multiple threads but at the same time use ``atomic``
 
-  * with the GIL-based idea of ``atomic`` it doesn't make sense:
-    we have multiple threads but they're all using ``atomic``, i.e.
-    only one at a time will ever run...  except no :-)
+Higher level: Atomic
+--------------------
 
+* we can run multiple threads but at the same time use ``atomic``
 
+* with the GIL-based idea of ``atomic`` it wouldn't make sense
 
+  - multiple threads
+  
+  - but they're all using ``atomic``
 
-- xxx memory usage good
+  - i.e. only one at a time will ever run
 
+  - ...except no :-)
 
 
+Transactions
+------------
 
-- transaction.py
+* ``transaction.py``: example of wrapper hiding threads
 
-  * demo
+* illusion of serial execution: can "sanely" reason about algorithms
 
-  * illusion of serial execution: can "sanely" reason about algorithms
 
-  * "Conflict tracebacks"
+Transaction conflicts
+---------------------
 
-  * Might need to debug them --- but they are performance bugs, not
-    correctness bugs
+* "Conflict tracebacks"
 
-  * The idea is that we fix only XX% of the bugs and we are done
+* Might need to debug them --- but they are performance bugs, not
+  correctness bugs
 
-  * Maybe some new "performance debugger" tools might help too
+* The idea is that we fix only XX% of the bugs and we are done
 
+* Maybe some new "performance debugger" tools might help too
 
-- TigerQuoll, 1st March: same idea with JavaScript (for servers)
 
-  * various models possible:
+We're not the only ones
+-----------------------
 
-    . events dispatchers
+TigerQuoll, 1st March: same idea with JavaScript (for servers)
 
-    . futures
+Various models possible:
 
-    . map/reduce, scatter/gather
+* events dispatchers
+
+* futures
+
+* map/reduce, scatter/gather
 
 
 Event dispatchers
 ---
 
 * http://pypy.org
+
+* http://bit.ly/pypystm