ruby / ruby/ruby-bench

Futamura projections of Rails applications

Aperta
#516 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Ruby
Stelle
119
Fork
36
Merge medio
14h 21m
PR unite (30g)
6

Descrizione

Not sure where the best place is to have discussions on ruby-bench, but I'm exploring ideas related to the railsbench demo contained in this repository and perhaps there may be something worth collaborating or following up on.

Quick start:

curl -sL https://rubys.github.io/roundhouse/browse/ruby.tgz | tar xz
cd ruby
bundle install
make seed assets
BLOG_DB=tmp/blog.sqlite3 bundle exec puma -C config/puma.rb

This is the quintessential Rails blog demo modernized with Tailwind CSS, Turbo Streams, and Action Cable - open multiple windows and make changes and see pages update live. All running as a pure Ruby application (no Rails) which is automatically generated from the original Rails source.

Benchmark results show high requests/second with slightly lower memory usage. Section 3 of this page may be of particular interest. There may be opportunities for more parallelism or optimizations - suggestions welcome.

The Ruby JRuby Was Built to Run provides more background on the Ruby to Ruby transformation and the points made in the post apply equally to MRI CRuby.

Futamura projections describes the overall technique.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con la demo di railsbench usando i comandi di configurazione indicati, quindi esamina i risultati del benchmark, in particolare la Sezione 3, e il materiale di riferimento collegato sulle Futamura projections. L’issue non definisce una modifica specifica, un criterio di accettazione o un obiettivo di implementazione; bisognerebbe concordare cosa significhi «done» prima di iniziare il lavoro.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
ruby
Ambito
performance
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.