[pypy-svn] r45307 - pypy/extradoc/talk/dyla2007
cfbolz at codespeak.net
cfbolz at codespeak.net
Tue Jul 24 18:23:33 CEST 2007
Author: cfbolz
Date: Tue Jul 24 18:23:32 2007
New Revision: 45307
Modified:
pypy/extradoc/talk/dyla2007/talk.tex
Log:
something about OO VMs
Modified: pypy/extradoc/talk/dyla2007/talk.tex
==============================================================================
--- pypy/extradoc/talk/dyla2007/talk.tex (original)
+++ pypy/extradoc/talk/dyla2007/talk.tex Tue Jul 24 18:23:32 2007
@@ -96,7 +96,7 @@
\end{frame}
\begin{frame}
- \frametitle{The Problems of C}
+ \frametitle{Implementing VMs in C}
When writing a VM in C it is hard to reconcile:
\begin{itemize}
\item
@@ -189,7 +189,109 @@
\end{frame}
\begin{frame}
- \frametitle{Title}
+ \frametitle{Implementing Languages on Top of OO VMs}
+ \begin{itemize}
+ \item
+ users wish to have easy interoperation with the OO VMs used by the industry
+ (JVM, CLR)
+ \item
+ bridges don't work that well (XXX maybe skip this)
+ \item
+ therefore re-implementations of the language on the OO VMs are started
+ \item
+ even more implementation proliferation
+ \item
+ implementing on top of an OO VM has its own set of problems
+ \end{itemize}
+ \pause
+ \begin{block}{
+ Python Case}
+ \begin{itemize}
+ \item
+ \alert{Jython} is a Python-to-Java-bytecode compiler
+ \item
+ \alert{IronPython} is a Python-to-CLR-bytecode compiler
+ \item
+ both are slightly incompatible with the newest CPython version (especially
+ Jython)
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Benefits of implementing on top of OO VMs}
+ \begin{itemize}
+ \item
+ higher level of implementation
+ \item
+ the VM supplies a GC and mostly a JIT
+ \item
+ better interoperability than what the C level provides
+ \item
+ some proponents believe that eventually one single VM should be enough
+ \end{itemize}
+ \pause
+ \begin{block}{
+ Python Case}
+ \begin{itemize}
+ \item
+ both Jython and IronPython allow easy access to the underlying VMs libraries
+ \item
+ XXX what else?
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}
+ \frametitle{The problems of OO VMs}
+ \begin{itemize}
+ \item
+ some of the benefits of OO VMs don't work out in practice
+ \item
+ most immediate problem: it be hard to map concepts of the dynamic lang to
+ the host OO VM
+ \item
+ performance is often not improved, and can be very bad, because of the
+ semantic mismatch between the dynamic language and the host VM
+ \item
+ poor interoperability with everything outside the OO VM
+ \item
+ in practice, one OO VM is not enough
+ \end{itemize}
+ \pause
+ \begin{block}{
+ Python Case}
+ \begin{itemize}
+ \item
+ Jython about 5 times slower than CPython
+ \item
+ IronPython is about as fast as CPython (but some introspection features
+ missing)
+ \item
+ XXX something about semantic mismatch?
+ \end{itemize}
+ \end{block}
+
+\end{frame}
+
+\begin{frame}
+ \frametitle{}
+ \begin{itemize}
+ \item
+ \end{itemize}
+ \pause
+ \begin{block}{
+ Python Case}
+ \begin{itemize}
+ \item
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+
+
+\begin{frame}
+ \frametitle{}
\begin{itemize}
\item
\end{itemize}
More information about the Pypy-commit
mailing list