Author: Romain Guillebert <romain...@gmail.com> Branch: extradoc Changeset: r5093:c6b907f56bb2 Date: 2013-10-16 11:02 +0200 http://bitbucket.org/pypy/extradoc/changeset/c6b907f56bb2/
Log: Add my talk at paris.py, in French :) diff --git a/talk/paris.py-3/Makefile b/talk/paris.py-3/Makefile new file mode 100644 --- /dev/null +++ b/talk/paris.py-3/Makefile @@ -0,0 +1,16 @@ +# you can find rst2beamer.py and inkscapeslide.py here: +# http://bitbucket.org/antocuni/env/src/619f486c4fad/bin/rst2beamer.py +# http://bitbucket.org/antocuni/env/src/619f486c4fad/bin/inkscapeslide.py + + +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 + +view: talk.pdf + evince talk.pdf > /dev/null 2>&1 & + +xpdf: talk.pdf + xpdf talk.pdf & diff --git a/talk/paris.py-3/Speed.png b/talk/paris.py-3/Speed.png new file mode 100644 index 0000000000000000000000000000000000000000..796a1ed2ef8f48d701a54242e78694ac16a70762 GIT binary patch [cut] diff --git a/talk/paris.py-3/Time.png b/talk/paris.py-3/Time.png new file mode 100644 index 0000000000000000000000000000000000000000..3618f1e4a4f55d3604a686051fce2f7fe31a3bda GIT binary patch [cut] diff --git a/talk/paris.py-3/author.latex b/talk/paris.py-3/author.latex new file mode 100644 --- /dev/null +++ b/talk/paris.py-3/author.latex @@ -0,0 +1,8 @@ +\definecolor{rrblitbackground}{rgb}{0.0, 0.0, 0.0} + +\title[PyPy : l'implémentation la plus rapide de Python]{PyPy : l'implémentation la plus rapide de Python} +\author[rguillebert] +{Romain Guillebert} + +\institute{Paris.py} +\date{15 octobre 2013} diff --git a/talk/paris.py-3/beamerdefs.txt b/talk/paris.py-3/beamerdefs.txt new file mode 100644 --- /dev/null +++ b/talk/paris.py-3/beamerdefs.txt @@ -0,0 +1,108 @@ +.. colors +.. =========================== + +.. role:: green +.. role:: red + + +.. general useful commands +.. =========================== + +.. |pause| raw:: latex + + \pause + +.. |small| raw:: latex + + {\small + +.. |end_small| raw:: latex + + } + +.. |scriptsize| raw:: latex + + {\scriptsize + +.. |end_scriptsize| raw:: latex + + } + +.. |strike<| raw:: latex + + \sout{ + +.. closed bracket +.. =========================== + +.. |>| raw:: latex + + } + + +.. example block +.. =========================== + +.. |example<| raw:: latex + + \begin{exampleblock}{ + + +.. |end_example| raw:: latex + + \end{exampleblock} + + + +.. alert block +.. =========================== + +.. |alert<| raw:: latex + + \begin{alertblock}{ + + +.. |end_alert| raw:: latex + + \end{alertblock} + + + +.. columns +.. =========================== + +.. |column1| raw:: latex + + \begin{columns} + \begin{column}{0.45\textwidth} + +.. |column2| raw:: latex + + \end{column} + \begin{column}{0.45\textwidth} + + +.. |end_columns| raw:: latex + + \end{column} + \end{columns} + + + +.. |snake| image:: ../../img/py-web-new.png + :scale: 15% + + + +.. nested blocks +.. =========================== + +.. |nested| raw:: latex + + \begin{columns} + \begin{column}{0.85\textwidth} + +.. |end_nested| raw:: latex + + \end{column} + \end{columns} diff --git a/talk/paris.py-3/stylesheet.latex b/talk/paris.py-3/stylesheet.latex new file mode 100644 --- /dev/null +++ b/talk/paris.py-3/stylesheet.latex @@ -0,0 +1,11 @@ +\usetheme{Boadilla} +\usecolortheme{whale} +\setbeamercovered{transparent} +\setbeamertemplate{navigation symbols}{} + +\definecolor{darkgreen}{rgb}{0, 0.5, 0.0} +\newcommand{\docutilsrolegreen}[1]{\color{darkgreen}#1\normalcolor} +\newcommand{\docutilsrolered}[1]{\color{red}#1\normalcolor} + +\newcommand{\green}[1]{\color{darkgreen}#1\normalcolor} +\newcommand{\red}[1]{\color{red}#1\normalcolor} diff --git a/talk/paris.py-3/talk.pdf b/talk/paris.py-3/talk.pdf new file mode 100644 index 0000000000000000000000000000000000000000..70e6beb3cd10de4a2fa5cadc8402aafb095efad0 GIT binary patch [cut] diff --git a/talk/paris.py-3/talk.rst b/talk/paris.py-3/talk.rst new file mode 100644 --- /dev/null +++ b/talk/paris.py-3/talk.rst @@ -0,0 +1,126 @@ +.. include:: beamerdefs.txt + +================================================ +PyPy : l'implémentation la plus rapide de Python +================================================ + +Terminologie +------------ + +* Python + +* CPython + +* PyPy + +* RPython + +Introduction +------------ + +* PyPy est un interpreteur Python écrit en RPython qui vise à être le plus rapide possible + +* Vise à exécuter n'importe quel code Python + +RPython +------- + +* Langage/Framework pour écrire des machines virtuelles + +* Sous-ensemble de Python + +* Vivement déconseillé pour d'autres usages + +|pause| + +* Ajoute (quasi) automatiquement un compilateur juste-a-temps et un ramasse miette (stop-the-world ou incrémental) + +* Nombreux langages (plus ou moins) implémentés avec ce Framework : Python (PyPy), Ruby (Topaz), PHP(Hippy), Scheme, Smalltalk, Emulateur GameBoy, Brainfuck + +PyPy +---- + +* Vieux de plus de 10 ans + +* Créer par (entre autres) Armin Rigo comme un remplaçant de psyco + +* Supporte x86, x86_64, ARM + +* Supporte Linux, Mac OS X, et Windows 32 bits + +* Production ready™ + +speed.pypy.org +-------------- + +.. image:: Speed.png + :scale: 40% + :align: center + +speed.pypy.org +-------------- + +.. image:: Time.png + :scale: 40% + :align: center + +Demo +---- + +* `sobel.py` + +JIT +--- + +* Optimise les boucles et les fonctions recursives + +* Meta-Tracing JIT + +* Trace une boucle à la 1039ième itération + +* Inline presque tout + +* Compile un seul chemin a la fois + +Compatibilité +------------- + +* 100% compatible avec la spécification du langage + +* Attention aux destructeurs (fermez vos fichiers) + +* Support des extensions C en version béta, performances médiocres + +Futur +----- + +* STM + +* Numpy + +* Python 3 + +* Appel aux dons sur ces 3 projets : pypy.org + +Numpy +----- + +* Réécriture du code C en RPython (jit-friendly) + +* Réutilisation du code Python + +|pause| + +* Compatibilité + +* Vitesse + +Demo de Numpy +------------- + +* Demo ndarray() + ndarray() VS itération + +Questions ? +----------- + +Questions ? _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit