[pypy-commit] extradoc extradoc: in-(slow)-progress

arigo noreply at buildbot.pypy.org
Tue Jul 15 22:42:02 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: extradoc
Changeset: r5355:f0be65f30f5a
Date: 2014-07-15 22:42 +0200
http://bitbucket.org/pypy/extradoc/changeset/f0be65f30f5a/

Log:	in-(slow)-progress

diff --git a/talk/ep2014/stm/talk.rst b/talk/ep2014/stm/talk.rst
--- a/talk/ep2014/stm/talk.rst
+++ b/talk/ep2014/stm/talk.rst
@@ -7,7 +7,51 @@
 Part 1 - Intro and Current Status
 ===========================================
 
-xxx
+- stm/demo/
+
+- stm/bottle/
+
+- transaction module; multiprocessing-like Pool(); etc.
+
+- a large demo of some well-known program where
+  it solves everything?... there is no such thing
+  because the large program's author have already
+  solved it
+
+- compare with garbage collection in C:
+
+  - usually you do it with malloc()/free()
+
+  - sometimes you need more control, and e.g. you add
+    some reference counts
+
+  - sometimes you use more specialized versions for
+    performance, e.g. allocate in a pool and throw it
+    completely away at the end of some phase
+
+  - Boehm GC, a GC for C: what kind of demo can you
+    present for it?  You take a C program, remove all
+    free(), relink malloc() to Boehm, and it works
+    more slowly...
+
+  - nevertheless, GCC did exactly that.  Why?
+
+- so, the GIL: we already have different workarounds for
+  different kinds of problems (use "multiprocessing"; or
+  start N processes and have them communicate in one
+  way or another)
+
+- this talk is about the GIL's equivalent of the Boehm GC
+  for C: simplify your life for some problems, with a
+  reasonable performance cost
+
+- the problems are:
+
+  - anything where the GIL is a blocker, obviously
+
+  - but also any program with "often-parallelizable"
+    sections of code
+
 
 
 ===========================================
@@ -33,7 +77,8 @@
 - reads are more common than writes: optimize read barriers
 
 - pypy-stm: write a thread-local flag "this object has been read",
-  show code for read barrier and fast-path of write barrier
+  show code for read barrier and fast-path of write barrier;
+  note about using the C library for CPython too
 
 - reads are not synchronized at all between CPUs, but it's wrong
   to read data written by other in-progress transactions;
@@ -55,8 +100,10 @@
 - picture with nursery -- the GC can use the same write barrier
 
 
+
 ===========================================
 Part 3 - Multithreading Revisited
 ===========================================
 
-xxx
+
+- 


More information about the pypy-commit mailing list