Category Archives: LLVM

Dropbox project Pyston’s setup

Finally, I have my Pyston  setup and execute python program. The installation guide is here. The time-consuming part is the plugin/prerequisite packages (also my laptop is mac, so I need to use Stanford University’s eduroam to access my server at University of California during this summer. Sometime it really slow my progress due to the non-local build up). For a beginner, I suggest to use the name “pyston” and “pyston_deps” at your “~/” location. If you change the name “pyston”, say, “pyston_howard”, you need to modify Makefile too. Otherwise, the “make check” will give you all “time-out” results. In my current version, the pass status test case in my machine has some randomly issue. The trouble maker is ~/pyston/test/tests/thread_memory_model_test.py, which cannot always pass. Sometimes, the result is Failed (time-out).

When I configured llvm, for pyston/src Makefile, we need llvm has following modes:

Debug-Asserts: make ENABLE_OPTIMIZED=0 DISABLE_ASSERTIONS=0

Release-Asserts: make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1

Release: make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1

The documented progress of pyston project can be found here in Kevin’s blog with tag “pyston”. More timely updates can be found here in github. According to the current development theme (email from pyston-dev) sent by Kevin: there are a couple big efforts are needed to boost the performance, e.g. improve/replace the implementation of GC performance, check here; improve Python-to-LLVM-IR time to improve inefficient analyses by hash maps of strings, check here.

PS: The reason why I play around Pyston is that I am stuck in the dorm of Stanford University before leaving for my research work at San Diego. The stay is caused by the fact that my car has some issues on the lights, and I had it sent to a body shop to repair. How inefficiency when insurance company cooperates with body shop/dealership. Bazinga?! I want to remind myself of the compiler and programming language courses, and reuse LLVM for my future research and potential ideas. Besides, I am a dropbox pro customer, who actually pays for the service every month! I would love to know what is going on there, even from outsider view. Also, please keep Julia in mind!