Domanda

Dopo essere stato atterrato con un progetto Ruby, sono stato scettico circa la decisione di utilizzare Rubino a causa di prestazioni.

Ero entusiasta di scoprire JRuby con la sua integrazione Java. Questo ha reso il progetto in maniera massiccia più facile per me. Ed ora io sono appena stato completamente solletico ancora di più per scoprire che JRuby può essere compilato verso il basso per il bytecode Java .

Con valori di riferimento in questo modo:

  

fib (30) RUBY: 1.67s

     

fib (30) JRuby interp (client VM): 3.93s

     

fib (30) JRuby interp (server VM): 2.28s a 2.08s

     

fib (30) JRuby compilato (client VM): 1.89s a 1.79s

     

fib (30) JRuby compilato (server VM): 1.66s a 0.86s

Ora sto diventando molto entusiasti della nostra scelta di JRuby qui. C'è qualche svantaggi o motivi per cui non dovrebbe compilare per il rilascio di produzione?

È stato utile?

Soluzione

La distribuzione e gli impianti sarebbero prendere questa decisione facile per me: come un amministratore di sistema, mi piacerebbe molto piuttosto distribuisco solo un file JAR che può essere eseguito su molti JRE di che avere per distribuire un'istanza di JRuby di lavoro (che è diverso per i diversi sistemi operativi, ad esempio) e il mio codice sorgente. Inoltre, è già stato dimostrato che il codice AOT-compilato è più veloce rispetto al interpretato / JIT, quindi a maggior ragione per distribuire la versione compilata.

Altri suggerimenti

Ruby è molto veloce a svilupparsi in (se si ha familiarità con il suo stile).

La sua non è così veloce da eseguire, ma questo non è di solito un meno grande. La sua abbondanza abbastanza veloce per la maggior parte dei carichi di lavoro, anche di grandi dimensioni siti web.

La decisione non deve essere basata su velocità di esecuzione - a meno che non si dispone di statistiche da dire le persone dovrebbero essere infelice con prestazioni -. Ma piuttosto la facilità di implementazione

Se la distribuzione di applicazioni di Ruby è stato raggiunto dai vostri predecessori, quindi tenerlo Ruby.

Se la distribuzione di JVM è più facile, vai con quello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top