[pypy-svn] r56324 - pypy/extradoc/talk/ep2008
fijal at codespeak.net
fijal at codespeak.net
Sat Jul 5 12:44:59 CEST 2008
Author: fijal
Date: Sat Jul 5 12:44:56 2008
New Revision: 56324
Added:
pypy/extradoc/talk/ep2008/nursery.fig
pypy/extradoc/talk/ep2008/semispace.fig
Modified:
pypy/extradoc/talk/ep2008/status.txt
Log:
Check in two pictures and stuff I've been working on a plane before I go to
bed
Added: pypy/extradoc/talk/ep2008/nursery.fig
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2008/nursery.fig Sat Jul 5 12:44:56 2008
@@ -0,0 +1,40 @@
+#FIG 3.2 Produced by xfig version 3.2.5
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+2 2 0 1 0 11 50 -1 -1 0.000 0 0 -1 0 0 5
+ 3260 2720 7100 2720 7100 4370 3260 4370 3260 2720
+2 2 0 1 0 11 50 -1 -1 0.000 0 0 -1 0 0 5
+ 3240 4590 7110 4590 7110 4860 3240 4860 3240 4590
+2 1 0 1 0 11 50 -1 -1 0.000 0 0 -1 1 0 2
+ 0 0 1.00 60.00 120.00
+ 4140 5490 4140 4860
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 3240 4590 3420 4590 3420 4860 3240 4860 3240 4590
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 3420 4590 3780 4590 3780 4860 3420 4860 3420 4590
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 3780 4590 3870 4590 3870 4860 3780 4860 3780 4590
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 3870 4590 4140 4590 4140 4860 3870 4860 3870 4590
+3 0 0 1 0 11 50 -1 -1 0.000 0 1 0 4
+ 0 0 1.00 60.00 120.00
+ 2340 5490 2700 5130 3420 5130 3690 4860
+ 0.000 1.000 1.000 0.000
+3 0 1 1 0 11 50 -1 -1 4.000 0 1 0 3
+ 0 0 1.00 60.00 120.00
+ 4230 3780 3600 4140 3600 4590
+ 0.000 1.000 0.000
+3 0 1 1 0 11 50 -1 -1 4.000 0 1 0 3
+ 0 0 1.00 60.00 120.00
+ 5310 3870 4320 4230 3960 4590
+ 0.000 1.000 0.000
+4 0 0 50 -1 0 12 0.0000 4 195 1965 3995 3515 Some GC (semispace)\001
+4 0 0 50 -1 0 12 0.0000 4 195 720 4410 5130 Nursery\001
+4 0 0 50 -1 0 12 0.0000 4 195 2025 3690 5670 Current position pointer\001
+4 0 0 50 -1 0 12 0.0000 4 195 1515 1710 5670 Allocated objects\001
Added: pypy/extradoc/talk/ep2008/semispace.fig
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2008/semispace.fig Sat Jul 5 12:44:56 2008
@@ -0,0 +1,47 @@
+#FIG 3.2 Produced by xfig version 3.2.5
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ 1350 1980 3150 1980 3150 5040 1350 5040 1350 1980
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ 4050 1980 5850 1980 5850 5040 4050 5040 4050 1980
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 1350 1980 3150 1980 3150 2250 1350 2250 1350 1980
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 1350 2520 3150 2520 3150 2790 1350 2790 1350 2520
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 1350 3690 3150 3690 3150 3960 1350 3960 1350 3690
+2 2 0 1 0 11 50 -1 20 0.000 0 0 -1 0 0 5
+ 1350 4500 3150 4500 3150 4770 1350 4770 1350 4500
+2 2 0 1 0 11 50 -1 32 0.000 0 0 -1 0 0 5
+ 4050 1980 5850 1980 5850 2250 4050 2250 4050 1980
+2 2 0 1 0 11 50 -1 32 0.000 0 0 -1 0 0 5
+ 4050 2250 5850 2250 5850 2520 4050 2520 4050 2250
+2 2 0 1 0 11 50 -1 32 0.000 0 0 -1 0 0 5
+ 4050 2520 5850 2520 5850 2790 4050 2790 4050 2520
+2 2 0 1 0 11 50 -1 32 0.000 0 0 -1 0 0 5
+ 4050 2790 5850 2790 5850 3060 4050 3060 4050 2790
+3 0 0 1 0 11 50 -1 -1 0.000 0 1 0 2
+ 0 0 1.00 60.00 120.00
+ 3152 2114 4040 2114
+ 0.000 0.000
+3 0 0 1 0 11 50 -1 -1 0.000 0 1 0 4
+ 0 0 1.00 60.00 120.00
+ 3122 2654 3602 2654 3602 2420 4046 2420
+ 0.000 1.000 1.000 0.000
+3 0 0 1 0 11 50 -1 -1 0.000 0 1 0 4
+ 0 0 1.00 60.00 120.00
+ 3146 3866 3602 3434 3590 2948 4046 2660
+ 0.000 1.000 1.000 0.000
+3 0 0 1 0 11 50 -1 -1 0.000 0 1 0 4
+ 0 0 1.00 60.00 120.00
+ 3146 4640 3560 4274 3776 3386 4046 2948
+ 0.000 1.000 1.000 0.000
+4 0 0 50 -1 0 12 0.0000 4 195 1215 1710 1800 1st semispace\001
+4 0 0 50 -1 0 12 0.0000 4 195 1275 4230 1800 2nd semispace\001
Modified: pypy/extradoc/talk/ep2008/status.txt
==============================================================================
--- pypy/extradoc/talk/ep2008/status.txt (original)
+++ pypy/extradoc/talk/ep2008/status.txt Sat Jul 5 12:44:56 2008
@@ -1,6 +1,6 @@
-===========
-PyPy status
-===========
+================
+PyPy status talk
+================
:Author: Maciej Fijalkowski
:Location: Europython 2008
@@ -20,87 +20,96 @@
Production ready
=====================
-* We worked a lot on running
+* we worked a lot on running
existing applications on top of PyPy
-* Sometimes requiring to change applications slightly
+* sometimes requiring to change applications slightly
+
+* especially refcounting details tend to be a problem
+
+::
-* Especially refcounting details tend to be a problem
open('xxx', 'w').write('stuff')
CTypes
======
-* Official way to have bindings to
+* official way to have bindings to
external (C) libraries for PyPy
-* Slow, but getting better
+* slow, but getting better
-* Sponsored by Google
+* can handle i.e. pysqlite-ctypes, pyglet, pymunk or Sole Scion
-* Can handle i.e. pysqlite-ctypes, pyglet, pymunk or Sole Scion
+* ctypes is getting better as a side effect:
-XXX demo of sole scion and pyglet
+ * errno handling
-* ctypes is getting better as a side effect:
+ * bugfixes
- * bugs found
- * helper libraries
- * possibility of porting to Jython/IronPython
+ * helper libraries
+
+* part of google sponsoring
+
+* demo
CTypes configure
================
-* Our own small addition to general
+* our own small addition to general
CTypes usefulness
-* Invokes C compiler for small details
+* invokes C compiler for small details
-* Can handle #defines, types, structure layout
+* can handle #defines, types, structure layout
etc.
-XXX demo
-
Sqlite
======
-* Part of cpython stdlib since 2.5
+* part of cpython stdlib since 2.5
-* We use Gerhard Haering's CTypes version
+* we use Gerhard Haering's CTypes version
-* Works reasonably well after some fixes
+* works reasonably well after some fixes
Django
======
-* We run (almost) unmodified Django
+* we run (almost) unmodified Django
-* Only sqlite DB backend for now
+* only sqlite DB backend for now
-* Cooperation with Django people to make sure that Django 1.0 works with PyPy
+* cooperation with Django people to make sure
+ that Django 1.0 works with PyPy
-XXX demo
+XXX demo, link
Pylons
======
-* Worked almost out of the box once eggs
- are working (1 day)
+* worked almost out of the box once eggs
+ were working (1 day)
-* No SQLAlchemy yet, obscure problems
+* no SQLAlchemy yet, obscure problems
ahead
-XXX demo
+* unmodified passes all tests
+
+XXX demo, link
Twisted & Nevow
===============
-* Twisted have some glitches
+* twisted have some glitches, but mostly works
+
+* nevow works
-* Nevow works
+* we don't support PyCrypto nor PyOpenSSL and we
+ won't anytime soon (if nobody contributes CTypes or rpython
+ versions)
-* We don't support PyCrypto nor PyOpenSSL and we
- won't anytime soon (if nobody contributes CTypes versions)
+XXX link
Other software
==============
@@ -117,7 +126,7 @@
* non-string keys in __dict__ of types
-* list comprehension variable in __all__
+* exact naming of a list comprehension variable
* relying on untested and undocumented private stuff
(zipimport._zip_directory_cache)
@@ -125,92 +134,108 @@
* exact message matching in exception catching
code
+* refcounting details
+
Conclusion on Compatibility
============================
* lessons learned: There is no feature obscure enough for people
- not to rely on it. But PyPy can usually mimick CPython sufficiently.
+ not to rely on it. But PyPy can usually mimick CPython sufficiently.
* pypy-c probably most compatible to CPython Interpreter
* main blocker for running apps will be missing external modules
-
Speed - comparison with CPython
===============================
-* We're something between 0.8-2x slower than
+* we're something between 0.8-2x slower than
CPython on various benchmarks.
* gcbench - 0.8 (because of our faster GC)
-* steady but slow progress
+* steady but slow progress
+
+* we hope for our JIT to be a huge leap ahead
Speed - decent GCs
==================
-* Faster than refcounting
+* faster than refcounting
-* Better handling of obscure cases
+* better handling of unusual patterns
-* Troubles with for example communication with C
+* troubles with for example communication with C
+
+* details on different talk
Speed - JIT generator
=====================
-* Not ready yet!
+* not ready yet!
+
+* will be super fast
-* Will be super fast
+* prolog prototype
-* Prolog prototype
+* psyco is a nice proof that this approach
+ would work
Other backends
==============
* PyPy-jvm runs!
-* More integration between pypy-cli and .NET
+* more integration between pypy-cli and .NET
-* General speed improvements
+* general speed improvements
-* Both backends are progressing - very slowly though
+* both backends are progressing - very slowly though
* contributors wanted!
Sandboxing
==========
-* Fully sandboxed python interpreter
+* fully sandboxed python interpreter
-* All external calls to C goes via another
+* all external calls to C goes via another
python process
-* Special library for making custom
+* special library for making custom
policies
-XXX image
+.. image:: sandboxed.png
+ :scale: 30
+ :align: center
XXX demo
-Cleanup sprint
-==============
+A lot of cleanups
+=================
-* Got rid of semi-cool semi-working
+* got rid of semi-cool semi-working
proofs of concept
-* Reduced code size
+* examples: CPython extension compiler,
+ rctypes
-* Allowed us to progress forward into
+* reduced code size
+
+* allowed us to progress forward into
advanced features
+* included sprint dedicated to cleanup
+ (on which noone was allowed to add features)
+
Plans
=====
-* More JIT - faster Python
+* more JIT - faster Python
-* Support full CPython's stdlib
+* support full CPython's stdlib
-* Aim for more funding in pushing pypy
+* aim for more funding in pushing pypy
forward (more at the next talk)
Links
More information about the Pypy-commit
mailing list