Running Optcarrot, a Ruby NES Emulator, at 150 Fps with the GUI
eregon.me
eregon.me
It makes use of this video format, which seems almost like a video equivalent of the PNM image format: https://wiki.multimedia.cx/index.php?title=YUV4MPEG2
I wish there was something similar that used RGB though.
It kinda shows how bad Ruby's performance is compared to most other languages.
The goal of optcarrot is explicitly not to be the "practical"or "the fastest NES emulator".
From https://github.com/mame/optcarrot > NOTE: We do not aim to create a practical NES emulator. There have been already many great emulators available. We recommend you use another emulator if you just want to play a game.
JRuby+Truffle's performance is not bad compared to other languages: https://github.com/smarr/are-we-fast-yet#current-status
This blog post and video explain where a lot of the big speedups come from.
http://chrisseaton.com/rubytruffle/deoptimizing/
I wrote my PhD about this topic, so there is even a whole thesis if you really want to get the details on how it works.
I wish it could be summarised in a comment, but it's actually not "that simple," so I recommend you read Chris Seaton's posts about GraalVM and JRuby+Truffle which has some excellent high-level explanations [of why Graal is amazing]. :)
Or at least, I doubt it. You're free to predict whatever you like.
At the very least, I don't think any amb implementations are making their way to jruby any time soon. Although that's not an issue with any real-world code.
It's not revelant to my main point, but I thought I'd have a bit of fun.
Realistic Rails apps will not work yet, but there is fast progress in this area, we started this year with a minimal webserver and now got a simple blog app working with a PostgreSQL adapter.