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 foi corrigido há 5 dias.
Infelizmente, o Mastodon, e não o Discourse, será o primeiro a funcionar no TruffleRuby ![]()
@volanar sim - não tenho tempo suficiente para voltar a esta pergunta agora - dia de trabalho intenso.
@eregon está aqui, e não estou ciente de nenhum bloqueio no truffle, nós mesclamos as correções para o mini racer no ano passado
Brandon colocou o Discourse para funcionar há um ano:
https://twitter.com/brandonfish/status/1486755128577253376
https://twitter.com/brandonfish/status/1519726230936993792
Um problema, se bem me lembro, era que algumas gems dependem do Hash ser thread-safe, para o qual temos uma solução geral, mas que ainda não foi mesclada/integrada no TruffleRuby. Por outro lado, é muito raramente correto usar Hash concorrentemente, isso muitas vezes resulta em ocultar bugs de concorrência de maneiras mais difíceis de encontrar. Portanto, é argumentavelmente melhor apenas corrigir as gems que dependem disso, mas isso leva tempo.
Precisamos fazer benchmark de desempenho e, para que isso seja significativo/representativo, devemos fazer benchmark multi-threaded. Isso precisa de A way to mark C extensions as thread-safe, so they can be executed in parallel · Issue #2136 · truffleruby/truffleruby · GitHub
Espero que seja resolvido rapidamente ![]()
Quanto você acha que os indicadores de desempenho do discourse melhorarão com o uso do truffleruby (TTFB, desempenho geral, etc.)?
O Brandon está neste servidor?
@Matthias_Schuster Uma rápida pesquisa traz
aqui no Meta.