Idea: --super-fast

Ok I think I mentioned this to you guys once before and we discussed it
but…not remembering well…

My feature request for jruby would be an option like:

which basically disables weird fringe “features” of ruby (which ever
ones cause the biggest hit in performance) for instance I’d imagine that
having to be able to do proc.eval(“3+a”) is expensive. So get rid of it.
Basically a “my ruby is very vanilla, so please run it as fast as you
conceivably can, given very vanilla ruby code” :slight_smile:

I suppose the biggest objection against this is “invokedynamic will soon
fix all speed problems” and my guess is that it will at least help
but…also that there will still be significant slowdown from some
things still inherent in the language.

I had started up a small “prototype” of a similar idea once: (doesn’t actually have much there yet).

that basically sought to translate “vanilla ruby code” into its
equivalent of Java with everything as an Object, with casting for method
names, like:

class Something extends Object implements method_name_implementer {

static Object method_name(Object var1, Object var) {}


So basically only works for trivial block passing (no constant
redefinitions or anything else fancy that ruby does).

but it would be convenient if this were possible more easily with jruby
natively somehow.


Isn’t this Mirah?

Mirah is strongly typed, but this is more like Ruby but “really fast”
and duck typed, basically. So no compile time checks, just duck typing.

Personally I think it has the potential to be Ruby re-invented.
Perhaps amethyst or something :slight_smile:

LOL. I had completely made that up and it turns out to already exist.


Tim U. wrote in post #1076084:

Personally I think it has the potential to be Ruby re-invented.
Perhaps amethyst or something :slight_smile:

It’s genius!

I haven’t committed myself to really developing it yet, but…it would
be nice to have a Ruby that had runtime speeds on par with Java. Maybe I
will some day.


No I just renamed it to match your suggestion. Unless something else
already existed? :slight_smile: