Discorso su Truffleruby

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

2 Mi Piace

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

2 Mi Piace

@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 Mi Piace

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 Mi Piace

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

5 Mi Piace

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

1 Mi Piace

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 Mi Piace

Questo problema è stato risolto 5 giorni fa.

2 Mi Piace

Purtroppo, mastodon, non discourse, sarà il primo a funzionare su truffleruby :dotted_line_face:

1 Mi Piace

@volanar sì - non ho abbastanza tempo per tornare su questa domanda adesso - lavoro a tempo pieno intensivo.

1 Mi Piace

@eregon è qui e non sono a conoscenza di alcun blocco su truffle, abbiamo unito le correzioni per mini racer l’anno scorso

1 Mi Piace

Brandon ha avviato Discourse un anno fa:
https://twitter.com/brandonfish/status/1486755128577253376
https://twitter.com/brandonfish/status/1519726230936993792

Un problema, se ricordo bene, era che alcune gem dipendevano da Hash per essere thread-safe, per cui abbiamo una soluzione generale ma non ancora unita/integrata in TruffleRuby. D’altra parte, è molto raramente corretto usare Hash in modo concorrente, spesso si traduce nel nascondere bug di concorrenza in modi più difficili da trovare. Quindi è probabilmente meglio correggere le gem che dipendono da ciò, ma ciò richiede tempo.
Dobbiamo misurare le prestazioni e affinché ciò sia significativo/rappresentativo dovremmo misurare in multi-thread. Ciò richiede A way to mark C extensions as thread-safe, so they can be executed in parallel · Issue #2136 · truffleruby/truffleruby · GitHub

3 Mi Piace

Spero che venga risolto rapidamente :face_with_peeking_eye:
Quanto pensi che miglioreranno gli indicatori di performance di Discourse con l’uso di truffleruby (TTFB, prestazioni generali, ecc.)?

2 Mi Piace

C’è Brandon su questo server?

@Matthias_Schuster Una rapida ricerca porta a

qui su Meta.

2 Mi Piace