Live data from Hacker News

Announcing Topaz: A New Ruby

docs.topazruby.com

21–30 of 190 posts

Re: Announcing Topaz: A New Ruby

#21
post #18

Earlier quoted context omitted.

Think of Pypy as somewhat like LLVM, except the language it's built on is a subset of the python language, called RPython. Although the most well-known language implemented in the pypy "vm" is python, the toolchain is completely language agnostic. So, this is more akin to Apple writing a C interpreter on top of llvm than it is to building a ruby interpreter on top of python.

PyPy is totally not like LLVM in many regards. It targets a very different demographics. Some differences: * RPython comes with a good garbage collector * the language where you specify what's going on is RPython in which you write an interpreter. Then you get a JIT using a few hints. This is difference than "interpreter in C + compiler to LLVM" scenario by quite a bit. * RPython comes with a set of data structures t…

Do you know what an analogy is?

Re: Announcing Topaz: A New Ruby

#23

Completely unscientific, but if these outputs are any indication, this is going to be great news for Rubby users in the future... $ time ruby -e "puts 'hello world'" hello world real 0m0.184s user 0m0.079s sys 0m0.092s $ time ~/Downloads/topaz/bin/topaz -e "puts 'hello world'" hello world real 0m0.007s user 0m0.002s sys 0m0.004s

[deleted]

Re: Announcing Topaz: A New Ruby

#24

Completely unscientific, but if these outputs are any indication, this is going to be great news for Rubby users in the future... $ time ruby -e "puts 'hello world'" hello world real 0m0.184s user 0m0.079s sys 0m0.092s $ time ~/Downloads/topaz/bin/topaz -e "puts 'hello world'" hello world real 0m0.007s user 0m0.002s sys 0m0.004s

Impressive, how does it compare to JRuby?

Re: Announcing Topaz: A New Ruby

#25
post #23

Completely unscientific, but if these outputs are any indication, this is going to be great news for Rubby users in the future... $ time ruby -e "puts 'hello world'" hello world real 0m0.184s user 0m0.079s sys 0m0.092s $ time ~/Downloads/topaz/bin/topaz -e "puts 'hello world'" hello world real 0m0.007s user 0m0.002s sys 0m0.004s

[deleted]

Topaz doesn't run rails yet (as far as I know, I didn't even dare to try!), so I doubt you'll find any benchmarks ;) There is one benchmark in the bench/ directory of the repository you can try though!

Re: Announcing Topaz: A New Ruby

#26
post #23

Completely unscientific, but if these outputs are any indication, this is going to be great news for Rubby users in the future... $ time ruby -e "puts 'hello world'" hello world real 0m0.184s user 0m0.079s sys 0m0.092s $ time ~/Downloads/topaz/bin/topaz -e "puts 'hello world'" hello world real 0m0.007s user 0m0.002s sys 0m0.004s

[deleted]

Instead of asking, you could read the linked article, which itself says it isn't complete enough to run Rails yet.

Re: Announcing Topaz: A New Ruby

#27
post #20

So Ruby on top of RPython on top of PyPy? Why not, but how does it compare to JRuby and Rubinius?

Not really. RPython is a statically-typed language which is used to implement PyPy's virtual machine framework. PyPy is itself a Python VM built on top of that framework, but the framework is designed to be reusable. So Topaz is a Ruby VM using that same virtual machine framework.

Re: Announcing Topaz: A New Ruby

#29
post #18

Earlier quoted context omitted.

Think of Pypy as somewhat like LLVM, except the language it's built on is a subset of the python language, called RPython. Although the most well-known language implemented in the pypy "vm" is python, the toolchain is completely language agnostic. So, this is more akin to Apple writing a C interpreter on top of llvm than it is to building a ruby interpreter on top of python.

PyPy is totally not like LLVM in many regards. It targets a very different demographics. Some differences: * RPython comes with a good garbage collector * the language where you specify what's going on is RPython in which you write an interpreter. Then you get a JIT using a few hints. This is difference than "interpreter in C + compiler to LLVM" scenario by quite a bit. * RPython comes with a set of data structures t…

Completely true, I was just trying to convey how different "building ruby on RPython/Pypy" is from "building ruby on top of python".

Re: Announcing Topaz: A New Ruby

#30
For those with long memories there was a (in)famous Topaz project in the Perl world. This was an attempt to implement perl5 in c++. It was abandoned however it did help kick-start Perl6 & Parrot.

refs:

- http://topaz.sourceforge.net

- Topaz: Perl for the 22nd Century http://www.perl.com/pub/1999/09/topaz.html

- Historical Implementations/Perl6 http://www.perlfoundation.org/perl6/index.cgi?historical_imp...

Post reply on HN