@ruby_discussions As much as I dislike promoting anything #Java or Oracle related, I have to say that a lot of my #RubyLang code (so long as it doesn't require forking) runs ~1 gazillion times faster on #TruffleRuby than #CRuby even with #YJIT enabled. It's now my default for certain types of performance-oriented code, especially for threading.
#java #rubylang #truffleruby #cruby #YJIT
If you're trying to update the #OpenSSL gem on #macOS for #TruffleRuby, you may need this to link with OpenSSLv3's #libssl library:
```bash
OPENSSL_PREFIX="$(brew --prefix openssl@3)" gem update openssl
```
Just replace "@3" with "@1.1" if you prefer OpenSSLv1.1 for whatever reason. Meanwhile, #CRuby still doesn't compile against v3 for me, but YMMV.
#openssl #macos #truffleruby #libssl #cruby
I really wish that #truffleruby would release an APT-compatible package so I don't have to worry about maintaining a bunch of JVM-related things.
Or, you know, provide more meaningful information for setting up their standalone install *without* using a ruby manager (which I have neither need nor want for).
@rahoulb I like #CrystalLang a lot, but periodically find things that just inexplicably don't work. I was answering a silly SO question and couldn't get it to even do 5 billion loops without an IntegerOverflow exception even with BigInt, but managed to increment a value 5B times in 49 seconds with #TruffleRuby without issues.
Crystal is a great language, but there are areas where its "Crystal Isn't Ruby" motto is on full display. I still prefer it to #GoLang, though!
#crystallang #truffleruby #golang
Released ruby-install 0.9.1, which adds support for installing TruffleRuby 23.0.0 and other various bug fixes.
https://github.com/postmodern/ruby-install/releases/tag/v0.9.1
#rubyinstall #truffleruby #ruby
#rubyinstall #truffleruby #ruby
@s1ide @chjara @tobyink @alfredohno Pretty much. #Rails isn't exactly famous for its amazing performance and even the best #Ruby runtimes like #TruffleRuby propose around 5x performance at best which... just isn't good-enough particularly when Rails itself /doesn't/ get 5x improvement from that.
Scaling wasn't a primary consideration and tacking it back on post-facto is a lot more complicated.
@dekkzz76 So it seems, though it's nice to see that it's being actively worked on on the #TruffleRuby side.
It probably won't bring it anywhere near some of the other lightweight #ActivityPub implementations (5x is much better, but that's still far from "runs nicely on a Raspberry" which some of the others claim to do), but it could help current instances not keel over with a flood of new traffic without having to double or triple running costs.
Has anyone tried using #TruffleRuby for #Mastodon? Does it make a meaningful difference?
RT @eregontp
Here are the slides for my talk at @rubyconf: https://eregon.me/blog/assets/research/splitting-the-crucial-optimization-for-ruby-blocks.pdf #RubyConf2022 #TruffleRuby
Hey #mastodon - reading https://github.com/mastodon/mastodon/issues/20467 has me intrigued (running Mastodon on #TruffleRuby and the #jvm
Does anyone have any more details on that?
Just spotted #TruffleRuby out in the wild mentioned - and it's here within Mastodon! https://github.com/mastodon/mastodon/issues/20467#issuecomment-1312316065 - I'd almost forgotten about #Truffle but would be cool seeing #Java and the JVM offering up optimized instances.
Question for people with experience with #TruffleRuby: can you compile a program (a gem basically) to a standalone executable that includes all the dependencies for easier distribution? Before I continue rewriting my #kubernetes installer to #crystal I want to know if this could be a quicker option for me since I would stay with #ruby. All I want is to offer standalone executables so users don’t need to set up a Ruby environment or use #Docker, which is currently the only alternative.
#truffleruby #kubernetes #crystal #ruby #docker
@eregon @graalvm Nice! I've never come across #TruffleRuby before. I've been messing around with deep learning stuff, and thinking through how I can deploy models in Python (once the model is trained you can kinda treat it as a regular method).
I was thinking of calling out to a Python webserver from an Rails app.
Maybe with #TruffleRuby I could bundle it in one app?
Today I tried to run #Mastodon on #TruffleRuby and it just worked as a drop-in replacement! 🚀
No Gemfile/app changes needed.
I only had to fix one small bug in rb_thread_fd_select() used by hiredis and a one-line change in the Puma config! cc @graalvm
@postmodern CRuby copies because it wants to keep it \0-terminated. #TruffleRuby doesn't copy :)
With #Ruby 3.1 just out, and #yjit in the headlines, here is a nice benchmark to compare the solutions at hand.
-- TLDR #TruffleRuby beats every other flavour and #yjit is in good position behind #jruby
https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html
#jruby #ruby #truffleruby #yjit
RT @ShopifyEng@twitter.com
Sometimes a little piece of code can pull you down a deep rabbit hole. Julie Antunovic walks us through an exploration unearthing performance issues and opportunities with #TruffleRuby. https://bit.ly/3B60WsM
🐦🔗: https://twitter.com/ShopifyEng/status/1429928437569961985
Congratulations #TruffleRuby team, https://travis-ci.org/socketry/async/builds/542974447 is green.