Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> This is one of the very few successful projects that used LLVM to accelerate a dynamic language.

Yup. Another is Open Shading Language[0]. They ended up with performance 25% faster than the previous shaders, which were coded by hand in C. It's used now in Blender's "Cycles" renderer. Yay, open source!

[0] https://github.com/imageworks/OpenShadingLanguage/



I don't think that OpenShadingLanguage is dynamic.


If by dynamic, you mean: the compiled code for the same exact shader source code can be wildly different at runtime, based on the inputs, OSL is dynamic in that sense.

If you mean something else…then I guess not. It's a shader after all, not a general purpose programming language.

I tend to use dynamic in the sense of static vs. dynamic, where dynamic is "happens at runtime" and static is "happens before runtime".


I think nadav256 meant dynamically typed. I.E. most languages that target LLVM are statically typed, and this project is one of the few (the first?) to successfully leverage LLVM for a dynamically typed language.


Julia is another dynamically typed language using LLVM. On the other hand, Julia was designed to use LLVM. I think this may be the first to succeed in dynamically typed language not designed to use LLVM.


What about Rubinius? (don't know much about it; does it not qualify as successful?)


There's also Python's "Unladen Swallow" attempt.[0]

[0] http://en.wikipedia.org/wiki/Unladen_Swallow


Unladen Swallow is a dead project at this point (although many lessons were learned from it). The active Python LLVM Jit project is Dropbox's Pyston:

https://github.com/dropbox/pyston

https://tech.dropbox.com/2014/04/introducing-pyston-an-upcom...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: