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

* The JIT is written in RPython.

* Comparing code with C is pretty difficult for all but the easiest 1-1 ports (i.e. numeric stuff), so I don't have good comparison numbers for it.

* Yes, I tried to improve the submissions to the benchmark game, this led down a long path which resulted in the benchmark game only having a single implementation for each language (e.g. tracemonkey is no longer on there, only v8)

* We don't plan on writing a new language, we kind of like Python, but someone absolutely could.

* PyPy doesn't have a VM, we have a toolkit for writing VMs and adding JITs to them. Perhaps these two blog posts will make it more clear: http://morepypy.blogspot.com/2011/04/tutorial-writing-interp... http://morepypy.blogspot.com/2011/04/tutorial-part-2-adding-...



I think I understand now. The PyPy implementation of Python is written using the RPython -> Jit interpreter framework that the PyPy project has. Clever.

Am I right in thinking that the drawback of this method is very long compile times for producing the interpreter?


Yes, compile times are rather long, about 40 minutes for the full interpreter on a recent, fairly good, laptop. On the other hand you don't need to do a compile all that frequently, because all the code is testable by executing directly atop another Python.


So you develop the interpreter by interpreting it on itself before compiling it to itself by itself.

Uh...


You might have some fun reading about the Futamura projections :)


Oh God, that stirs some memories. I'll read it again, thank you.




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

Search: