2. Who are you?(お前、誰よ by Ian Lewis)
• @Masahito from Japan
• P2P File Transfer Engineer at
Skeed .inc
• I work with Scala & JVM(Sorry!)
• We use Python for
Implementation the CLI, and, to
deploy the P2P client(fabric etc)
3. Attention
I do not have the implementation of
Pyston. The only explanation this time ;-)
5. What is Pyston?
• develop : Dropbox(https://tech.dropbox.com/2014/04/
introducing-pyston-an-upcoming-jit-based-python-implementation/)
• JIT(Just in Time)-based implementation of the Python 2.7
language.
• Python implementation built using LLVM and modern JIT
techniques
• only runs on x86_64 platforms, and only has been tested on
Ubuntu.
6. Python Code to LLVM IR
The IR is then run through the LLVM optimizer and passed off to the LLVM JIT engine,
Run Mechanism
7.
8. How to install
• Binary is not provided
• build required(https://github.com/dropbox/pyston/blob/
master/docs/INSTALLING.md)It's written carefully, it works
roughly.(It does not work? Let's do our best!)
9. !
Current state
• It does not correspond to the input of the line breaks in the
REPL
• It does not correspond to the basic grammar other than the
Python(not generator , list comprehension etc)lambda is
coming!
• Library is not implemented almost it's current status. You can
not use only about time.time far
16. Summary:
There is an effect in the recursion of LLVM JIT.
Effect is difficult to come out in the loop of LLVM JIT.
17. planned for 0.2
Missing large parts of the language
!
Exceptions (planned for 0.2)
Class inheritance (planned for 0.2)
Default arguments, keywords, starargs, kwargs (planned for 0.2)
Generators (planned for 0.2)
Integer promotion (planned for 0.2)
Threads