Author: Maciej Fijalkowski <[email protected]>
Branch: extradoc
Changeset: r5066:3a007c1729fb
Date: 2013-10-04 10:05 +0200
http://bitbucket.org/pypy/extradoc/changeset/3a007c1729fb/

Log:    my talk

diff --git a/talk/pyconza2013/php/Makefile b/talk/pyconza2013/php/Makefile
new file mode 100644
--- /dev/null
+++ b/talk/pyconza2013/php/Makefile
@@ -0,0 +1,13 @@
+
+
+view: talk.pdf
+       evince talk.pdf
+
+talk.pdf: talk.tex
+       pdflatex talk.tex
+
+talk.tex: talk.rst
+       rst2beamer --stylesheet=stylesheet.latex --documentoptions=14pt 
--input-encoding=utf8 --output-encoding=utf8 --overlaybullets=false $< > 
talk.tex
+
+clean:
+       rm talk1.tex talk.tex talk.pdf
diff --git a/talk/pyconza2013/php/beamerdefs.txt 
b/talk/pyconza2013/php/beamerdefs.txt
new file mode 100644
--- /dev/null
+++ b/talk/pyconza2013/php/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/pyconza2013/php/stylesheet.latex 
b/talk/pyconza2013/php/stylesheet.latex
new file mode 100644
--- /dev/null
+++ b/talk/pyconza2013/php/stylesheet.latex
@@ -0,0 +1,10 @@
+\usetheme{Warsaw}
+\usecolortheme{whale}
+\setbeamercovered{transparent}
+\definecolor{darkgreen}{rgb}{0, 0.5, 0.0}
+\newcommand{\docutilsrolegreen}[1]{\color{darkgreen}#1\normalcolor}
+\newcommand{\docutilsrolered}[1]{\color{red}#1\normalcolor}
+\addtobeamertemplate{block begin}{}{\setlength{\parskip}{35pt plus 1pt minus 
1pt}}
+
+\newcommand{\green}[1]{\color{darkgreen}#1\normalcolor}
+\newcommand{\red}[1]{\color{red}#1\normalcolor}
diff --git a/talk/pyconza2013/php/talk.pdf b/talk/pyconza2013/php/talk.pdf
new file mode 100644
index 
0000000000000000000000000000000000000000..c3455b8c36fbba1f91ef50062af1704ccdce201f
GIT binary patch

[cut]

diff --git a/talk/pyconza2013/php/talk.rst b/talk/pyconza2013/php/talk.rst
new file mode 100644
--- /dev/null
+++ b/talk/pyconza2013/php/talk.rst
@@ -0,0 +1,160 @@
+
+.. include:: beamerdefs.txt
+
+.. raw:: latex
+
+   \title{PHP interpreter using PyPy technology}
+   \author[fijal]{Maciej Fija&#322;kowski}
+
+   \institute{PyCon ZA 2013}
+   \date{4th October 2013}
+
+   \maketitle
+
+introduction
+------------
+
+* me - Maciej Fija&#322;kowski, PyPy core developer
+
+* technology - PyPy
+
+* project - PHP interpreter
+
+Wait, what???!!!1
+-----------------
+
+* PHP - by far the most popular language on the web
+
+* PyPy - proven technology for speeding up Python
+
+* examples who can gain: wikipedia, facebook, wordpress....
+
+Current landscape
+-----------------
+
+* Zend - a simple, bytecode-based interpreter
+
+* HipHop - PHP to C++ compiler, facebook project
+
+* HHVM - successor to HipHop, JIT-based, also facebook
+
+Current benchmarks landscape
+----------------------------
+
+* benchmarks are hard
+
+* a set I've seen is mostly numeric or language shootout
+
+* not very representative
+
+* HipHop is 2-4x faster than Zend, HHVM 40% faster than hiphop
+
+* no real-world PHP benchmark suite (a la speed.pypy.org)
+
+PyPy
+----
+
+* fast interpreter for a python language
+
+* but also, a toolchain for constructing interpreters
+
+* comes with a just-in-time compiler
+
+More about PyPy
+---------------
+
+* implementation language of PyPy is RPython
+
+* RPython is a subset of Python
+
+* RPython can be compiled statically to C
+
+|pause|
+
+* ... but also can have just in time compiler generated for
+
+More about RPython
+------------------
+
+* a great language for writing interpreters
+
+|pause|
+
+* a horrible language with tons of tricks
+
+* great results in good enough time
+
+* http://tratt.net/laurie/blog/entries/fast_enough_vms_in_fast_enough_time
+
+Introducing hippy
+-----------------
+
+* PHP interpreter written in RPython
+
+* bug-to-bug compatible with Zend
+
+* interpreter + just in time compiler (for free)
+
+* preliminary study sponsored by facebook
+
+* good preliminary performance results
+
+PHP is hard
+-----------
+
+* crazy standard library
+
+|pause|
+
+* function calls by name
+
+* ``*args`` equivalent, ``apply`` equivalent, etc.
+
+* crazy reference semantics
+
+* copy-on-write and refcounting
+
+\.\.\. but getting it fast is easier
+------------------------------------
+
+* we **do** have a JIT as soon as we write an interpreter
+
+* PyPy has really good technology
+
+Basic construction
+------------------
+
+* interpreter loop
+
+* standard library
+
+|pause|
+
+* typical stuff
+
+Web server integration
+----------------------
+
+* PHP is very request based with throwing out all the data in between
+
+* we want to persist as much as possible
+
+* various optimizations possible
+
+We're hiring
+------------
+
+* want to work on something obscure and challenging?
+
+* with smart people?
+
+* talk to me or Armin
+
+Q&A
+---
+
+* any questions?
+
+* fijall at gmail
+
+* http://baroquesoftware.com
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to