File: extradoc.rst

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (373 lines) | stat: -rw-r--r-- 16,430 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
Papers, talks and related projects
==================================

Papers
------

*Articles about PyPy published so far, most recent first:* (bibtex_ file)

* `A Way Forward in Parallelising Dynamic Languages`_,
  R. Meier, A. Rigo

* `Runtime Feedback in a Meta-Tracing JIT for Efficient Dynamic Languages`_,
  C.F. Bolz, A. Cuni, M. Fijalkowski, M. Leuschel, S. Pedroni, A. Rigo

* `Allocation Removal by Partial Evaluation in a Tracing JIT`_,
  C.F. Bolz, A. Cuni, M. Fijalkowski, M. Leuschel, S. Pedroni, A. Rigo

* `Towards a Jitting VM for Prolog Execution`_,
  C.F. Bolz, M. Leuschel, D, Schneider

* `High performance implementation of Python for CLI/.NET with JIT compiler generation for dynamic languages`_,
  A. Cuni, Ph.D. thesis

* `Tracing the Meta-Level: PyPy's Tracing JIT Compiler`_,
  C.F. Bolz, A. Cuni, M. Fijalkowski, A. Rigo

* `Faster than C#: Efficient Implementation of Dynamic Languages on .NET`_,
  A. Cuni, D. Ancona and A. Rigo

* `Automatic JIT Compiler Generation with Runtime Partial Evaluation`_
  (Master Thesis), C.F. Bolz

* `RPython: A Step towards Reconciling Dynamically and Statically Typed
  OO Languages`_, D. Ancona, M. Ancona, A. Cuni and N.D. Matsakis

* `How to *not* write Virtual Machines for Dynamic Languages`_,
  C.F. Bolz and A. Rigo

* `PyPy's approach to virtual machine construction`_, A. Rigo and S. Pedroni


*Non-published articles (only submitted so far, or technical reports):*

* `Automatic generation of JIT compilers for dynamic languages in .NET`_,
  D. Ancona, C.F. Bolz, A. Cuni and A. Rigo

* :doc:`EU Reports <index-report>`: a list of all the reports we produced until 2007 for the
  European Union sponsored part of PyPy.  Notably, it includes:

* `Core Object Optimization Results`_, PyPy Team

* `Compiling Dynamic Language Implementations`_, PyPy Team


*Other research using PyPy (as far as we know it):*

* `Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution`_,
  N. Riley and C. Zilles

* `PyGirl: Generating Whole-System VMs from High-Level Prototypes using PyPy`_,
  C. Bruni and T. Verwaest

* `Back to the Future in One Week -- Implementing a Smalltalk VM in PyPy`_,
  C.F. Bolz, A. Kuhn, A. Lienhard, N. Matsakis, O. Nierstrasz, L. Renggli,
  A. Rigo and T. Verwaest


*Previous work:*

* `Representation-Based Just-in-Time Specialization and the Psyco Prototype
  for Python`_, A. Rigo


.. _bibtex: https://bitbucket.org/pypy/extradoc/raw/tip/talk/bibtex.bib
.. _A Way Forward in Parallelising Dynamic Languages: https://bitbucket.org/pypy/extradoc/raw/extradoc/talk/icooolps2014/position-paper.pdf
.. _Runtime Feedback in a Meta-Tracing JIT for Efficient Dynamic Languages: https://bitbucket.org/pypy/extradoc/raw/extradoc/talk/icooolps2011/jit-hints.pdf
.. _Allocation Removal by Partial Evaluation in a Tracing JIT: https://bitbucket.org/pypy/extradoc/raw/extradoc/talk/pepm2011/bolz-allocation-removal.pdf
.. _Towards a Jitting VM for Prolog Execution: http://stups.hhu.de/mediawiki/images/a/a7/Pub-BoLeSch2010.pdf
.. _High performance implementation of Python for CLI/.NET with JIT compiler generation for dynamic languages: http://buildbot.pypy.org/misc/antocuni-thesis.pdf
.. _How to *not* write Virtual Machines for Dynamic Languages: https://bitbucket.org/pypy/extradoc/raw/tip/talk/dyla2007/dyla.pdf
.. _`Tracing the Meta-Level: PyPy's Tracing JIT Compiler`: https://bitbucket.org/pypy/extradoc/raw/tip/talk/icooolps2009/bolz-tracing-jit.pdf
.. _`Faster than C#: Efficient Implementation of Dynamic Languages on .NET`: https://bitbucket.org/pypy/extradoc/raw/tip/talk/icooolps2009-dotnet/cli-jit.pdf
.. _Automatic JIT Compiler Generation with Runtime Partial Evaluation: https://www.researchgate.net/profile/Davide_Ancona/publication/252023163_Automatic_generation_of_JIT_compilers_for_dynamic_languages_in_NET/links/53f2098e0cf2bc0c40e70023/Automatic-generation-of-JIT-compilers-for-dynamic-languages-in-NET.pdf
.. _`RPython: A Step towards Reconciling Dynamically and Statically Typed OO Languages`: http://www.disi.unige.it/person/AnconaD/papers/DynamicLanguages_abstracts.html#AACM-DLS07
.. _EU Reports: index-report.html
.. _Hardware Transactional Memory Support for Lightweight Dynamic Language Evolution: http://sabi.net/nriley/pubs/dls6-riley.pdf
.. _`PyGirl: Generating Whole-System VMs from High-Level Prototypes using PyPy`: http://scg.unibe.ch/archive/papers/Brun09cPyGirl.pdf
.. _Representation-Based Just-in-Time Specialization and the Psyco Prototype for Python: http://psyco.sourceforge.net/psyco-pepm-a.ps.gz
.. _Back to the Future in One Week -- Implementing a Smalltalk VM in PyPy: http://dx.doi.org/10.1007/978-3-540-89275-5_7
.. _Automatic generation of JIT compilers for dynamic languages in .NET: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ecoop2009/main.pdf
.. _Core Object Optimization Results: https://bitbucket.org/pypy/extradoc/raw/tip/eu-report/D06.1_Core_Optimizations-2007-04-30.pdf
.. _Compiling Dynamic Language Implementations: https://bitbucket.org/pypy/extradoc/raw/tip/eu-report/D05.1_Publish_on_translating_a_very-high-level_description.pdf


Talks and Presentations
-----------------------

*This part is no longer updated.*  The complete list is here__ (in
alphabetical order).

.. __: https://bitbucket.org/pypy/extradoc/src/extradoc/talk/

Talks in 2010
~~~~~~~~~~~~~

* `PyCon 2010`_.


Talks in 2009
~~~~~~~~~~~~~

* `RuPy 2009`_.

* `EuroPython talks 2009`_.

* `PyCon talks 2009`_.

* `Wroclaw (Poland) presentation`_ by Maciej Fijalkowski.  Introduction,
  including about the current JIT.

* `PyPy talk at OpenBossa 09`_ (blog post).


Talks in 2008
~~~~~~~~~~~~~

* Talk `at PyCon Poland 08`_.  In Polish.

* `The PyPy Project and You`_, by Michael Hudson at OSDC 2008.

* `Back to the Future in One Week -- Implementing a Smalltalk VM in PyPy`_
  by C.F. Bolz et al.; `pdf of the presentation`__ at S3 2008.

* `EuroPython talks 2008`_.

* PyPy at the `Maemo summit`_.

* `PyCon UK 2008 - JIT`_ and `PyCon UK 2008 - Status`_.

* `PyCon Italy 2008`_.

* Talk by Maciej Fijalkowski `at SFI 08`_, Cracow (Poland) Academic IT
  Festival.

* `RuPy 2008`_.

* `PyCon 2008`_.

.. __: https://bitbucket.org/pypy/extradoc/raw/tip/talk/s3-2008/talk.pdf


Talks in 2007
~~~~~~~~~~~~~

* Our "road show" tour of the United States: presentations `at IBM`__
  and `at Google`__.

* `ESUG 2007`_.

* `RPython: A Step towards Reconciling Dynamically and Statically Typed
  OO Languages`_ at DLS 2007.  `Pdf of the presentation`__.

* Talks at `Bern (Switzerland) 2007`_.

* `PyCon UK 2007`_.

* A presentation in Dresden_ by Maciej Fijalkowski.

* Multiple talks at `EuroPython 2007`_.

* A presentation at `Bad Honnef 2007`_ by C.F. Bolz about the Prolog
  interpreter.

* A `Dzug talk`_ by Holger Krekel.

* Multiple talks at `PyCon 2007`_.

* A talk at `PyCon - Uno 2007`_.

* `RuPy 2007`_.

* `Warsaw 2007`_.

.. __: https://bitbucket.org/pypy/extradoc/raw/tip/talk/roadshow-ibm/
.. __: https://bitbucket.org/pypy/extradoc/raw/tip/talk/roadshow-google/Pypy_architecture.pdf
.. __: https://bitbucket.org/pypy/extradoc/raw/tip/talk/dls2007/rpython-talk.pdf


Talks in 2006
~~~~~~~~~~~~~

* `Warsaw 2006`_.

* `Tokyo 2006`_.

* `PyPy's VM Approach`_ talk, given by Armin Rigo at the Dynamic Languages
  Symposium at OOPSLA'06 (Portland OR), and by Samuele Pedroni at Intel
  Hillsboro (OR)  (October). The talk presents the paper
  `PyPy's approach to virtual machine construction`_ accepted for
  the symposium.

* `PyPy Status`_ talk, given by Samuele Pedroni at the Vancouner
  Python Workshop 2006 (August).

* `Trouble in Paradise`_: the Open Source Project PyPy,
  EU-funding and Agile Practices talk, by Bea During at
  Agile 2006 (experience report).

*  `Sprint Driven Development`_, Agile Methodologies in a
   Distributed Open Source Project (PyPy) talk, by Bea During
   at XP 2006 (experience report).

* `Kill -1`_: process refactoring in the PyPy project talk, by Bea During
  at the Agile track/Europython 2006.

* `What can PyPy do for you`_, by Armin Rigo and Carl Friedrich Bolz given at
  EuroPython 2006. The talk describes practical usecases of PyPy.

* `PyPy 3000`_, a purely implementation-centered lightning talk at EuroPython
  2006, given by Armin Rigo and Holger Krekel.

* `PyPy introduction at EuroPython 2006`_, given by Michael Hudson, also
  stating the status of the project.

* Very similar to the EuroPython intro talk (but somewhat older) is the
  `PyPy intro`_ talk, given by Michael Hudson at ACCU 2006 (April)

* `PyPy development method`_ talk, given by Bea During and
  Holger Krekel at Pycon2006


Talks in 2005
~~~~~~~~~~~~~

* `PyPy - the new Python implementation on the block`_,
  given by Carl Friedrich Bolz and Holger Krekel at the
  22nd Chaos Communication Conference in Berlin, Dec. 2005.

* `Open Source, EU-Funding and Agile Methods`_, given by Holger Krekel
  and Bea During at the 22nd Chaos Communication Conference in Berlin, Dec. 2005

* `Sprinting the PyPy way`_, an overview about our sprint methodology, given by
  Bea During during EuroPython 2005. (More PyPy talks were given, but are
  not present in detail.)

* `PyCon 2005`_ animated slices, mostly reporting on the translator status.

* `py lib slides`_ from the py lib talk at PyCon 2005
  (py is used as a support/testing library for PyPy).


Talks in 2004
~~~~~~~~~~~~~

* `EU funding for FOSS`_ talk on Chaos Communication
  Conference in Berlin, Dec 2004.


Talks in 2003
~~~~~~~~~~~~~

* oscon2003-paper_ an early paper presented at Oscon 2003 describing
  what the PyPy project is about and why you should care.

* `Architecture introduction slides`_ a mostly up-to-date
  introduction for the Amsterdam PyPy-Sprint Dec 2003.


.. _PyCon 2010: http://morepypy.blogspot.com/2010/02/pycon-2010-report.html
.. _RuPy 2009: http://morepypy.blogspot.com/2009/11/pypy-on-rupy-2009.html
.. _PyPy 3000: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2006/pypy3000.txt
.. _What can PyPy do for you: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2006/usecases-slides.txt
.. _PyPy introduction at EuroPython 2006: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2006/intro.pdf
.. _PyPy - the new Python implementation on the block: https://bitbucket.org/pypy/extradoc/raw/tip/talk/22c3/hpk-tech.txt
.. _PyPy development method: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon2006/method_talk.txt
.. _PyPy intro: https://bitbucket.org/pypy/extradoc/raw/tip/talk/accu2006/accu-2006.pdf
.. _oscon2003-paper: https://bitbucket.org/pypy/extradoc/raw/tip/talk/oscon2003-paper.txt
.. _Architecture introduction slides: https://bitbucket.org/pypy/extradoc/raw/tip/talk/amsterdam-sprint-intro.pdf
.. _EU funding for FOSS: https://bitbucket.org/pypy/extradoc/raw/tip/talk/2004-21C3-pypy-EU-hpk.pdf
.. _py lib slides: https://bitbucket.org/pypy/extradoc/raw/tip/talk/2005-pycon-py.pdf
.. _PyCon 2005: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pypy-talk-pycon2005/README.txt
.. _Trouble in Paradise: https://bitbucket.org/pypy/extradoc/raw/tip/talk/agile2006/during-oss-sprints_talk.pdf
.. _Sprint Driven Development: https://bitbucket.org/pypy/extradoc/raw/tip/talk/xp2006/during-xp2006-sprints.pdf
.. _Kill -1: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2006/kill_1_agiletalk.pdf
.. _Open Source, EU-Funding and Agile Methods: https://bitbucket.org/pypy/extradoc/raw/tip/talk/22c3/agility.pdf
.. _PyPy Status: https://bitbucket.org/pypy/extradoc/raw/tip/talk/vancouver/
.. _Sprinting the PyPy way: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2005/pypy_sprinttalk_ep2005bd.pdf
.. _PyPy's VM Approach: https://bitbucket.org/pypy/extradoc/raw/tip/talk/dls2006/
.. _PyPy's approach to virtual machine construction: https://bitbucket.org/pypy/extradoc/raw/tip/talk/dls2006/pypy-vm-construction.pdf
.. _EuroPython talks 2009: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2009/
.. _PyCon talks 2009: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon2009/
.. _Wroclaw (Poland) presentation: https://bitbucket.org/pypy/extradoc/raw/tip/talk/wroclaw2009/talk.pdf
.. _PyPy talk at OpenBossa 09: http://morepypy.blogspot.com/2009/03/pypy-talk-at-openbossa-09.html
.. _at SFI 08: https://bitbucket.org/pypy/extradoc/raw/tip/talk/sfi2008/
.. _at PyCon Poland 08: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pyconpl-2008/talk.pdf
.. _The PyPy Project and You: https://bitbucket.org/pypy/extradoc/raw/tip/talk/osdc2008/osdc08.pdf
.. _EuroPython talks 2008: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2008/
.. _Maemo summit: http://morepypy.blogspot.com/2008/09/pypypython-at-maemo-summit.html
.. _PyCon UK 2008 - JIT: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon-uk-2008/jit/pypy-vm.pdf
.. _PyCon UK 2008 - Status: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon-uk-2008/status/status.pdf
.. _PyCon Italy 2008: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon-italy-2008/pypy-vm.pdf
.. _RuPy 2008: https://bitbucket.org/pypy/extradoc/raw/tip/talk/rupy2008/
.. _RuPy 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/rupy2007/
.. _PyCon 2008: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon2008/
.. _ESUG 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/esug2007/
.. _Bern (Switzerland) 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/bern2007/
.. _PyCon UK 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pyconuk07/
.. _Dresden: https://bitbucket.org/pypy/extradoc/raw/tip/talk/dresden/
.. _EuroPython 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/ep2007/
.. _Bad Honnef 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/badhonnef2007/talk.pdf
.. _Dzug talk: https://bitbucket.org/pypy/extradoc/raw/tip/talk/dzug2007/dzug2007.txt
.. _PyCon 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon2007/
.. _PyCon - Uno 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/pycon-uno2007/pycon07.pdf
.. _Warsaw 2007: https://bitbucket.org/pypy/extradoc/raw/tip/talk/warsaw2007/
.. _Warsaw 2006: https://bitbucket.org/pypy/extradoc/raw/tip/talk/warsaw2006/
.. _Tokyo 2006: https://bitbucket.org/pypy/extradoc/raw/tip/talk/tokyo/


Related projects
----------------

* TraceMonkey_ is using a tracing JIT, similar to the tracing
  JITs generated by our (in-progress) JIT generator.

* Dynamo_ showcased `transparent dynamic optimization`_
  generating an optimized version of a binary program at runtime.

* Tailoring Dynamo_ to interpreter implementations and challenges -
  Gregory Sullivan et. al.,
  `Dynamic Native Optimization of Native Interpreters`_. IVME 03. 2003.

* Stackless_ is a recursion-free version of Python.

* Psyco_ is a just-in-time specializer for Python.

* JikesRVM_ a research dynamic optimizing Java VM written in Java.

* `Squeak`_ is a Smalltalk-80 implementation written in
  Smalltalk, being used in `Croquet`_, an experimental
  distributed multi-user/multi-programmer virtual world.

* `LLVM`_ the low level virtual machine project.

* `CLR under the hood`_ (powerpoint, works with open office) gives
  a good introduction to the underlying models of Microsoft's Common
  Language Runtime, the Intermediate Language, JIT and GC issues.

* spyweb translates Python programs to Scheme. (site unavailable)

* Jython_ is a Python implementation in Java.

* IronPython_ a new Python implementation compiling Python into
  Microsoft's Common Language Runtime (CLR) Intermediate Language (IL).

* Tunes_ is not entirely unrelated.  The web site changed a lot, but a
  snapshot of the `old Tunes Wiki`_ is available; browsing
  through it is a lot of fun.

.. _TraceMonkey: https://wiki.mozilla.org/JavaScript:TraceMonkey
.. _CLR under the hood: http://download.microsoft.com/download/2/4/d/24dfac0e-fec7-4252-91b9-fb2310603f14/CLRUnderTheHood.BradA.ppt
.. _Stackless: http://stackless.com
.. _Psyco: http://psyco.sourceforge.net
.. _Jython: http://www.jython.org
.. _Squeak: http://www.squeak.org/
.. _Croquet: http://www.opencroquet.org/
.. _transparent dynamic optimization: http://www.hpl.hp.com/techreports/1999/HPL-1999-77.pdf
.. _Dynamo: http://www.hpl.hp.com/techreports/1999/HPL-1999-78.pdf
.. _LLVM: http://llvm.org/
.. _IronPython: http://ironpython.codeplex.com/
.. _Dynamic Native Optimization of Native Interpreters: http://people.csail.mit.edu/gregs/dynamorio.html
.. _JikesRVM: http://www.jikesrvm.org/
.. _Tunes: http://tunes.org
.. _old Tunes Wiki: http://buildbot.pypy.org/misc/cliki.tunes.org/