Discurso sobre Truffleruby

Has anyone tried having Discourse on the truffleruby?
Does it make sense to look in this direction?

2 curtidas

Interesting. Why did they decide to fork not contribute I wonder?

2 curtidas

@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

1 curtida

Sounds fascinating. Would you expect to be able to run the existing Discourse codebase without significant changes? What kind of changes might be needed?

1 curtida

Short answer: No, it currently doesn’t work on TruffleRuby.

5 curtidas

@gerhard Thanks for the link, It will be easier for me to understand existing issues.

1 curtida

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).

4 curtidas

Este problema foi corrigido há 5 dias.

2 curtidas

Infelizmente, o Mastodon, e não o Discourse, será o primeiro a funcionar no TruffleRuby :dotted_line_face:

1 curtida

@volanar sim - não tenho tempo suficiente para voltar a esta pergunta agora - dia de trabalho intenso.

1 curtida

@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

1 curtida

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

3 curtidas

Espero que seja resolvido rapidamente :face_with_peeking_eye:
Quanto você acha que os indicadores de desempenho do discourse melhorarão com o uso do truffleruby (TTFB, desempenho geral, etc.)?

2 curtidas

O Brandon está neste servidor?

@Matthias_Schuster Uma rápida pesquisa traz

aqui no Meta.

2 curtidas