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).
Este problema se solucionó hace 5 días.
Lamentablemente, Mastodon, no Discourse, será el primero en funcionar con TruffleRuby ![]()
@volanar sí - no tengo tiempo suficiente para volver a esta pregunta ahora mismo - trabajo intensivo a tiempo completo.
@eregon está aquí, y no tengo conocimiento de ningún bloqueo en truffle, fusionamos las correcciones para mini racer el año pasado.
Brandon puso Discourse en funcionamiento hace un año:
https://twitter.com/brandonfish/status/1486755128577253376
https://twitter.com/brandonfish/status/1519726230936993792
Un problema, si mal no recuerdo, fue que algunas gemas dependen de que Hash sea seguro para subprocesos (thread-safe), para lo cual tenemos una solución general pero que aún no se ha fusionado/integrado en TruffleRuby. Por otro lado, es muy raro que sea correcto usar Hash de forma concurrente, a menudo resulta en ocultar errores de concurrencia de maneras más difíciles de encontrar. Por lo tanto, es discutiblemente mejor simplemente corregir las gemas que dependen de eso, pero eso lleva tiempo.
Necesitamos evaluar el rendimiento y, para que sea significativo/representativo, deberíamos evaluar con subprocesos múltiples. Eso necesita A way to mark C extensions as thread-safe, so they can be executed in parallel · Issue #2136 · truffleruby/truffleruby · GitHub
Espero que se resuelva rápidamente ![]()
¿Cuánto crees que mejorarán los indicadores de rendimiento de Discourse con el uso de TruffleRuby (TTFB, rendimiento general, etc.)?
¿Está Brandon en este servidor?
@Matthias_Schuster Una búsqueda rápida muestra
aquí en Meta.