Has anyone tried having Discourse on the truffleruby?
Does it make sense to look in this direction?
Interesting. Why did they decide to fork not contribute I wonder?
@merefield Truffleruby is an implementation of Ruby for GraalVM by Oracle guys. Good performance and interoperability with other languages on GraalVM.
It’s not a fork.
I have some experience with Rails on Truffleruby and want to check Discourse next week.
Some additional information - Running Rack and Rails Faster with TruffleRuby - Speaker Deck
Sounds fascinating. Would you expect to be able to run the existing Discourse codebase without significant changes? What kind of changes might be needed?
Short answer: No, it currently doesn’t work on TruffleRuby.
@gerhard Thanks for the link, It will be easier for me to understand existing issues.
The current blocker is mini_racer, see https://github.com/oracle/truffleruby/issues/1827
That said, at least all gems install on TruffleRuby, we test that in CI (for some slightly older Discourse).
Dieses Problem wurde vor 5 Tagen behoben.
Leider wird Mastodon, nicht Discourse, das erste sein, das an TruffleRuby arbeitet ![]()
@volanar ja - ich habe im Moment keine Zeit, auf diese Frage zurückzukommen - intensiver Hauptjob.
@eregon ist hier, und mir sind keine Blocker bei Truffle bekannt. Wir haben letztes Jahr die Korrekturen für Mini Racer zusammengeführt.
Brandon hat vor einem Jahr Discourse zum Laufen gebracht:
https://twitter.com/brandonfish/status/1486755128577253376
https://twitter.com/brandonfish/status/1519726230936993792
Ein Problem, wenn ich mich recht erinnere, war, dass einige Gems auf Hash angewiesen sind, das Thread-sicher ist, wofür wir eine allgemeine Lösung haben, die aber in TruffleRuby noch nicht zusammengeführt/integriert ist. Andererseits ist es sehr selten richtig, Hash einfach gleichzeitig zu verwenden, es führt oft dazu, dass Nebenläufigkeitsfehler auf schwerer zu findende Weise verborgen werden. Daher ist es wohl besser, die Gems, die sich darauf verlassen, einfach zu korrigieren, aber das braucht Zeit.
Wir müssen die Leistung benchmarken, und damit diese aussagekräftig/repräsentativ ist, sollten wir Multi-Threading benchmarken. Dafür wird A way to mark C extensions as thread-safe, so they can be executed in parallel · Issue #2136 · truffleruby/truffleruby · GitHub benötigt.
Ich hoffe, es wird schnell gelöst ![]()
Wie stark schätzen Sie die Leistungsindikatoren von Discourse bei der Verwendung von TruffleRuby (TTFB, Gesamtleistung usw.)?
Ist Brandon auf diesem Server?
@Matthias_Schuster Eine schnelle Suche bringt Folgendes hervor:
hier auf Meta.