논문, 발표 및 관련 프로젝트 =========================== 논문 ---- *지금까지 발표된 PyPy 관련 논문들, 최신순으로:* (bibtex_ 파일) * `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, 박사 학위논문 * `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 및 A. Rigo * `Automatic JIT Compiler Generation with Runtime Partial Evaluation`_\ (석사 학위논문), C.F. Bolz * `RPython: A Step towards Reconciling Dynamically and Statically Typed OO Languages`_, D. Ancona, M. Ancona, A. Cuni 및 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와 S. Pedroni *미발표 논문(현재까지 제출만 된 것이거나 기술 보고서):* * `Automatic generation of JIT compilers for dynamic languages in .NET`_, D. Ancona, C.F. Bolz, A. Cuni and A. Rigo * :doc:`EU Reports `\ 는 PyPy의 유럽연합 후원 부분을 위해 2007년까지 우리가 작성한 모든 보고서의 목록입니다. 특히 다음을 포함합니다: * `번역한 텍스트 `_\ , PyPy 팀 * `Compiling Dynamic Language Implementations`_, PyPy 팀 *PyPy를 사용한 기타 연구(우리가 아는 한):* * `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 *이전 작업:* * `Representation-Based Just-in-Time Specialization and the Psyco Prototype for Python`_, A. Rigo .. _bibtex: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/bibtex.bib .. _A Way Forward in Parallelising Dynamic Languages: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/icooolps2014/position-paper.pdf .. _Runtime Feedback in a Meta-Tracing JIT for Efficient Dynamic Languages: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/icooolps2011/jit-hints.pdf .. _Allocation Removal by Partial Evaluation in a Tracing JIT: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pepm2011/bolz-allocation-removal.pdf .. _Towards a Jitting VM for Prolog Execution: https://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: https://buildbot.pypy.org/misc/antocuni-thesis.pdf .. _How to *not* write Virtual Machines for Dynamic Languages: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/dyla2007/dyla.pdf .. _`Tracing the Meta-Level: PyPy's Tracing JIT Compiler`: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/icooolps2009/bolz-tracing-jit.pdf .. _`Faster than C#: Efficient Implementation of Dynamic Languages on .NET`: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/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`: https://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: https://sabi.net/nriley/pubs/dls6-riley.pdf .. _`PyGirl: Generating Whole-System VMs from High-Level Prototypes using PyPy`: https://scg.unibe.ch/archive/papers/Brun09cPyGirl.pdf .. _Representation-Based Just-in-Time Specialization and the Psyco Prototype for Python: https://psyco.sourceforge.net/psyco-pepm-a.ps.gz .. _Back to the Future in One Week -- Implementing a Smalltalk VM in PyPy: https://dx.doi.org/10.1007/978-3-540-89275-5_7 .. _Automatic generation of JIT compilers for dynamic languages in .NET: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ecoop2009/main.pdf .. _Core Object Optimization Results: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/eu-report/D06.1_Core_Optimizations-2007-04-30.pdf .. _Compiling Dynamic Language Implementations: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/eu-report/D05.1_Publish_on_translating_a_very-high-level_description.pdf 발표 및 프레젠테이션 -------------------- *이 부분은 더 이상 업데이트되지 않습니다.* 전체 목록은 `여기`__\ 에서 확인할 수 있습니다 (알파벳 순). .. __: https://foss.heptapod.net/pypy/extradoc/blob/branch/default/talk/ 2010년 강연 ~~~~~~~~~~~ * `PyCon 2010`_. 2009년 발표 ~~~~~~~~~~~ * `RuPy 2009`_. * `EuroPython talks 2009`_\ 입니다. * `PyCon talks 2009`_\ . * Maciej Fijalkowski의 `Wroclaw (Poland) presentation`_. 소개이며, 현재 JIT에 대한 내용도 포함합니다. * `PyPy talk at OpenBossa 09`_ (블로그 게시물). 2008년 발표 ~~~~~~~~~~~ * 발표 `at PyCon Poland 08`_. 폴란드어로 진행되었습니다. * OSDC 2008에서 Michael Hudson이 발표한 `The PyPy Project and You`_\ . * `Back to the Future in One Week -- Implementing a Smalltalk VM in PyPy`_, C.F. Bolz 외 지음; S3 2008에서 있었던 `발표 자료의 pdf`__\ 를 볼 수 있습니다. * `EuroPython talks 2008`_\ 입니다. * `Maemo summit`_\ 에서의 PyPy. * `PyCon UK 2008 - JIT`_\ 와 `PyCon UK 2008 - Status`_\ 입니다. * `PyCon Italy 2008`_\ 입니다. * Maciej Fijalkowski가 폴란드 크라쿠프(Cracow) Academic IT Festival에서 진행한 `at SFI 08`_\ 발표입니다. * `RuPy 2008`_. * `PyCon 2008`_\ . .. __: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/s3-2008/talk.pdf 2007년 강연 ~~~~~~~~~~~ * 미국 "로드쇼" 투어: `at IBM`__\ 와 `at Google`__\ 에서의 발표. * `ESUG 2007`_\ 입니다. * `RPython: A Step towards Reconciling Dynamically and Statically Typed OO Languages`_\ , DLS 2007. `발표 자료 PDF`__. * `Bern (Switzerland) 2007`_\ 에서의 강연입니다. * `PyCon UK 2007`_\ 입니다. * Maciej Fijalkowski가 Dresden_\ 에서 진행한 발표. * `EuroPython 2007`_\ 에서의 여러 발표. * `Bad Honnef 2007`_\ 에서 C.F. Bolz가 발표한 Prolog 인터프리터에 대한 발표. * Holger Krekel의 `Dzug talk`_\ 입니다. * `PyCon 2007`_\ 에서의 여러 강연. * `PyCon - Uno 2007`_\ 에서의 발표입니다. * `RuPy 2007`_. * `Warsaw 2007`_. .. __: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/roadshow-ibm/ .. __: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/roadshow-google/Pypy_architecture.pdf .. __: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/dls2007/rpython-talk.pdf 2006년 강연 ~~~~~~~~~~~ * `Warsaw 2006`_\ . * `Tokyo 2006`_\ 입니다. * `PyPy's VM Approach`_\ 강연은 Armin Rigo가 OOPSLA'06(Portland OR)의 Dynamic Languages Symposium에서, Samuele Pedroni가 Intel Hillsboro(OR)에서(10월) 진행했습니다. 이 강연은 해당 심포지엄에 채택된 논문 `PyPy's approach to virtual machine construction`_\ 을 소개합니다. * 2006년 8월 밴쿠버 파이썬 워크숍(Vancouner Python Workshop)에서 Samuele Pedroni가 발표한 `PyPy Status`_\ 강연. * `Trouble in Paradise`_: 오픈소스 프로젝트 PyPy, EU 지원금과 애자일 실천법에 관한 발표, Bea During, Agile 2006(경험 보고서). * `Sprint Driven Development`_, 분산 오픈소스 프로젝트(PyPy)에서의 애자일 방법론에 관한 강연, Bea During 발표, XP 2006 (경험 보고). * `Kill -1`_: PyPy 프로젝트에서의 프로세스 리팩토링(process refactoring)에 관한 발표, Bea During, Europython 2006 Agile 트랙. * `What can PyPy do for you`_, Armin Rigo와 Carl Friedrich Bolz가 EuroPython 2006에서 발표했습니다. 이 강연은 PyPy의 실용적인 사용 사례를 설명합니다. * `PyPy 3000`_\ 는 Armin Rigo와 Holger Krekel이 발표한, EuroPython 2006에서 열린 순수하게 구현 중심적인 라이트닝 토크입니다. * Michael Hudson이 발표한 `PyPy introduction at EuroPython 2006`_\ 는 프로젝트의 상태도 언급합니다. * EuroPython 소개 강연과 매우 비슷한(다만 다소 더 오래된) `PyPy intro`_\ 강연은 Michael Hudson이 2006년 4월 ACCU에서 발표한 것입니다. * Pycon2006에서 Bea During과 Holger Krekel이 발표한 `PyPy development method`_ 강연 2005년 발표 ~~~~~~~~~~~ * `PyPy - the new Python implementation on the block`_, 2005년 12월 베를린에서 열린 제22회 카오스 커뮤니케이션 콘퍼런스(Chaos Communication Conference)에서 Carl Friedrich Bolz와 Holger Krekel이 발표했습니다. * `Open Source, EU-Funding and Agile Methods`_\ , 2005년 12월 베를린에서 열린 제22회 카오스 커뮤니케이션 콘퍼런스에서 Holger Krekel과 Bea During이 발표 * `Sprinting the PyPy way`_\ 는 2005년 EuroPython에서 Bea During이 발표한 우리의 스프린트 방법론에 대한 개요입니다. (더 많은 PyPy 발표가 있었지만, 자세히 다루지는 않습니다.) * `PyCon 2005`_\ 의 애니메이션 슬라이드는 주로 번역기(translator) 상태를 보고합니다. * PyCon 2005의 py lib 발표에서 사용된 `py lib slides`_\ 입니다(py는 PyPy의 지원/테스트 라이브러리로 사용됩니다). 2004년 발표 ~~~~~~~~~~~ * 2004년 12월 베를린 카오스 통신 회의(Chaos Communication Conference)에서 열린 `EU funding for FOSS`_\ 강연. 2003년 발표 ~~~~~~~~~~~ * oscon2003-paper_\ 는 PyPy 프로젝트가 무엇에 관한 것이며 왜 관심을 가져야 하는지를 설명하는, Oscon 2003에서 발표된 초기 논문입니다. * `Architecture introduction slides`_\ 는 2003년 12월 암스테르담 PyPy 스프린트를 위한, 대체로 최신 내용을 담은 소개 자료입니다. .. _PyCon 2010: https://www.pypy.org/posts/2010/02/pycon-2010-report-6986911457623699520.html .. _RuPy 2009: https://www.pypy.org/posts/2009/11/pypy-on-rupy-2009-5675275348619189353.html .. _PyPy 3000: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2006/pypy3000.txt .. _What can PyPy do for you: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2006/usecases-slides.txt .. _PyPy introduction at EuroPython 2006: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2006/intro.pdf .. _PyPy - the new Python implementation on the block: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/22c3/hpk-tech.txt .. _PyPy development method: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon2006/method_talk.txt .. _PyPy intro: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/accu2006/accu-2006.pdf .. _oscon2003-paper: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/oscon2003-paper.txt .. _Architecture introduction slides: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/amsterdam-sprint-intro.pdf .. _EU funding for FOSS: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/2004-21C3-pypy-EU-hpk.pdf .. _py lib slides: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/2005-pycon-py.pdf .. _PyCon 2005: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pypy-talk-pycon2005/README.txt .. _Trouble in Paradise: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/agile2006/during-oss-sprints_talk.pdf .. _Sprint Driven Development: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/xp2006/during-xp2006-sprints.pdf .. _Kill -1: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2006/kill_1_agiletalk.pdf .. _Open Source, EU-Funding and Agile Methods: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/22c3/agility.pdf .. _PyPy Status: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/vancouver/ .. _Sprinting the PyPy way: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2005/pypy_sprinttalk_ep2005bd.pdf .. _PyPy's VM Approach: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/dls2006/ .. _PyPy's approach to virtual machine construction: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/dls2006/pypy-vm-construction.pdf .. _EuroPython talks 2009: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2009/ .. _PyCon talks 2009: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon2009/ .. _Wroclaw (Poland) presentation: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/wroclaw2009/talk.pdf .. _PyPy talk at OpenBossa 09: https://www.pypy.org/posts/2009/03/pypy-talk-at-openbossa-09-5135830287297423499.html .. _at SFI 08: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/sfi2008/ .. _at PyCon Poland 08: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pyconpl-2008/talk.pdf .. _The PyPy Project and You: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/osdc2008/osdc08.pdf .. _EuroPython talks 2008: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2008/ .. _Maemo summit: https://www.pypy.org/posts/2008/09/pypypython-at-maemo-summit-6115106472056714072.html .. _PyCon UK 2008 - JIT: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon-uk-2008/jit/pypy-vm.pdf .. _PyCon UK 2008 - Status: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon-uk-2008/status/status.pdf .. _PyCon Italy 2008: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon-italy-2008/pypy-vm.pdf .. _RuPy 2008: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/rupy2008/ .. _RuPy 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/rupy2007/ .. _PyCon 2008: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon2008/ .. _ESUG 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/esug2007/ .. _Bern (Switzerland) 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/bern2007/ .. _PyCon UK 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pyconuk07/ .. _Dresden: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/dresden/ .. _EuroPython 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/ep2007/ .. _Bad Honnef 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/badhonnef2007/talk.pdf .. _Dzug talk: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/dzug2007/dzug2007.txt .. _PyCon 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon2007/ .. _PyCon - Uno 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/pycon-uno2007/pycon07.pdf .. _Warsaw 2007: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/warsaw2007/ .. _Warsaw 2006: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/warsaw2006/ .. _Tokyo 2006: https://foss.heptapod.net/pypy/extradoc/raw/branch/default/talk/tokyo/ 관련 프로젝트 ------------- * TraceMonkey_\ 는 트레이싱 JIT을 사용하며, 이는 우리의 (진행 중인) JIT 생성기가 생성하는 트레이싱 JIT과 유사합니다. * Dynamo_는 런타임에 바이너리 프로그램의 최적화된 버전을 생성하는 `transparent dynamic optimization`_\ 을 보여주었습니다. * 인터프리터 구현과 과제에 맞춘 Dynamo_ 커스터마이징 - Gregory Sullivan 외, `Dynamic Native Optimization of Native Interpreters`_. IVME 03. 2003. * Stackless_\ 는 재귀 없는 Python 버전입니다. * Psyco_\ 는 Python을 위한 JIT(just-in-time) 특수화기입니다. * JikesRVM_\ 는 Java로 작성된 연구용 동적 최적화 Java VM입니다. * `Squeak`_\ 는 Smalltalk로 작성된 Smalltalk-80 구현체로, 실험적인 분산 다중 사용자/다중 프로그래머 가상 세계인 `Croquet`_\ 에서 사용되고 있습니다. * `LLVM`_\ 은 저수준 가상 머신(low level virtual machine) 프로젝트입니다. * `CLR under the hood`_ (파워포인트, 오픈 오피스에서도 작동)는 Microsoft의 공용 언어 런타임(Common Language Runtime), 중간 언어(Intermediate Language), JIT 및 GC 문제에 대한 기저 모델을 잘 소개합니다. * spyweb는 Python 프로그램을 Scheme으로 번역(translation)합니다. (사이트 사용 불가) * Jython_\ 은 자바로 작성된 파이썬 구현체입니다. * IronPython_\ 는 Python을 Microsoft의 Common Language Runtime(CLR) 중간 언어(IL)로 컴파일하는 새로운 Python 구현체입니다. * Tunes_\ 가 완전히 무관한 것은 아닙니다. 웹사이트는 많이 바뀌었지만, `old Tunes Wiki`_\ 의 스냅샷은 볼 수 있으며, 이를 둘러보는 것은 매우 재미있습니다. .. _TraceMonkey: https://wiki.mozilla.org/JavaScript:TraceMonkey .. _CLR under the hood: https://download.microsoft.com/download/2/4/d/24dfac0e-fec7-4252-91b9-fb2310603f14/CLRUnderTheHood.BradA.ppt .. _Stackless: https://stackless.com .. _Psyco: https://psyco.sourceforge.net .. _Jython: https://www.jython.org .. _Squeak: https://www.squeak.org/ .. _Croquet: https://www.opencroquet.org/ .. _transparent dynamic optimization: https://www.hpl.hp.com/techreports/1999/HPL-1999-77.pdf .. _Dynamo: https://www.hpl.hp.com/techreports/1999/HPL-1999-78.pdf .. _LLVM: https://llvm.org/ .. _IronPython: https://ironpython.codeplex.com/ .. _Dynamic Native Optimization of Native Interpreters: https://people.csail.mit.edu/gregs/dynamorio.html .. _JikesRVM: https://www.jikesrvm.org/ .. _Tunes: https://tunes.org .. _old Tunes Wiki: https://buildbot.pypy.org/misc/cliki.tunes.org/