sisshiki1969 / monoruby

Ruby implementation with yet another JIT compiler.
Apache License 2.0
110 stars 4 forks source link

Compatibility? #49

Open eregon opened 7 months ago

eregon commented 7 months ago

The README doesn't mention anything about compatibility, but it seems worth having at least a sentence about it. Does it run RubyGems/Bundler/Rails? Does it have the Ruby standard library? C extensions?

eregon commented 7 months ago

Also related is does it support e.g. large integers, redefining Integer#+, etc and monkey-patching in general, i.e. important Ruby features which have a significant impact on performance? https://www.infoworld.com/article/2074776/so-you-want-to-optimize-ruby.html has a list of more of these. Of course it's totally fine if it doesn't but then it should be mentioned explicitly, because this definitely affects performance and interpretation of the benchmark results.

sisshiki1969 commented 6 months ago

Thank you for comments! and sorry for late response.

Yes, monoruby supports Bignum, redefining of basic operations (such as Integer#+, Float#*, ..), and monkey-patching.

As for compatibility, monoruby can not run Rails and there are no plans to make it work in the near future. The same goes for C extensions. This is my personal study project and does not aim to replace CRuby. RubyGems does not work yet, but now I am working on it.

I'll add some documents about compatibility with CRuby later.