Ruby vs Ruby vs Python vs Python

Un curioso benchmark che mette a confronto le ultime versioni:

http://mastrodonato.info/index.php/2010/01/ruby-vs-ruby-vs-python-vs-python/

Marco M. wrote:

Un curioso benchmark che mette a confronto le ultime versioni:

http://mastrodonato.info/index.php/2010/01/ruby-vs-ruby-vs-python-vs-python/

ottimo ed interessante come sempre :wink:

Grazie! Ne ho fatto qualcuno anche su ubuntu, su jvm a 64 bit jruby ha
migliorato ulteriormente, al contrario di altri. Devo solo sistemare
alcune cose e poi pubblicherò i nuovi risultati.

Marco M. wrote:

Grazie! Ne ho fatto qualcuno anche su ubuntu, su jvm a 64 bit jruby ha
migliorato ulteriormente, al contrario di altri. Devo solo sistemare
alcune cose e poi pubblicherò i nuovi risultati.

Per i benchmark con linux usi il ruby del package manager o quello
compilato? Da quel che ho letto (e mi par di ricordare anche misurato)
le versioni compilate sono più veloci di quelle generiche provenienti
dai repository.

Sui server di produzione compilo sempre l’interprete ed è quello il
benchmark più interessante.

Paolo

Marco M. wrote:

Un curioso benchmark che mette a confronto le ultime versioni:

http://mastrodonato.info/index.php/2010/01/ruby-vs-ruby-vs-python-vs-python/

ho visto che gli script Ruby18 e Ruby19 differiscono solo per queste
righe
21c21
< if xstr[n].chr() == ‘A’

  if xstr[n] == 'A'

23c23
< elsif xstr[n].chr() == ‘9’

  elsif xstr[n] == '9'

Li ho fatti girare entrami sulla mia macchina con RadRails (Jruby) e la
versione dello script ottimizzata per 1.9
risulta piu’ veloce (penso perche’ deve fare il .chr() in meno)
tu a Jruby quale script hai fatto eseguire ?

Simone R. wrote:

Li ho fatti girare entrami sulla mia macchina con RadRails (Jruby) e la
versione dello script ottimizzata per 1.9
risulta piu’ veloce (penso perche’ deve fare il .chr() in meno)
tu a Jruby quale script hai fatto eseguire ?

Ho usato la versione per 1.8, sinceramente non ho neanche provato
l’altra perchè, essendo compatibile 1.8.7, pensavo non funzionasse.
Insomma devo rifare tutto :slight_smile:

Simone R. wrote:

Li ho fatti girare entrami sulla mia macchina con RadRails (Jruby) e la
versione dello script ottimizzata per 1.9
risulta piu’ veloce (penso perche’ deve fare il .chr() in meno)
tu a Jruby quale script hai fatto eseguire ?

Ho provato jruby con lo script della versione 1.9 ma se controlli il
check 1 e 2 noterai che sono a 0. Essendo compatibile con la 1.8.7,
restituisce il codice ascii che è necessario trasformare in carattere.

Paolo M. wrote:

Per i benchmark con linux usi il ruby del package manager o quello
compilato?

Paolo

Si, in questo caso ho usato quello del package manager ma posso anche
verificare se cambia qualcosa usando una versione compilata da me

Ciao Simone, direi che dipende, l’errore bloccante magari ce l’hai ma
purtroppo in un punto difficile da trovare. Nel mio caso era una
banalità ma le modifiche sono tante e importanti, d’altronde è una major
release:

http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9

o questo

http://svn.ruby-lang.org/repos/ruby/tags/v1_9_1_0/NEWS

Se il codice viene scritto per essere compatibile con tutte le versioni
non dovresti avere problemi, basta essere consapevole delle differenze.

Un esempio banalissimo:
1.8.6
“pippo”[1] => 105
1.9.1
“pippo”[1] => i
ma se usiamo
“pippo”[1…1] => i
meno bello ed un pò più lento ma avrà lo stesso funzionamento su
entrambe

Se il codice è stato scritto per 1.8 o viceversa, per sfruttare al
limite le caratteristiche del linguaggio, l’adattamento è più ostico.
Paradossalmente, il più bravo è quello che avrà (o aveva) più problemi.
Ma tanto è bravo e non avrà problemi a riscrivere da zero magari
sfruttando le nuove potenzialità . Ruby è stupendo ma alcune scelte della
1.8 non le avevo davvero capite. Fortunatamente, la 1.9 sistema diverse
cose.

Ho fatto una comparazione con alcune versioni sotto linux. Purtroppo la
velocissima p129, sotto linux mi da un errore di compilazione, in
compenso la nuova 1.9.2 è ancora meglio, avvicinandosi molto a jruby:

Ruby vs Python vs Windows vs Linux
http://mastrodonato.info/index.php/2010/03/ruby-vs-python-vs-windows-vs-linux/

Marco M. wrote:

Ho provato jruby con lo script della versione 1.9 ma se controlli il
check 1 e 2 noterai che sono a 0. Essendo compatibile con la 1.8.7,
restituisce il codice ascii che è necessario trasformare in carattere.

OK , ho visto dove e’ l’inghippo, a questo punto temo per quegli script
che saranno sviluppati per 1.9 e che per un motivo o per l’altro
verranno fatti girare su jruby o 1.8 … non c’e’ un bell’ errore
bloccante , ci sono risultati che cambiano ma lo script “funziona”

2010/3/5 Marco M. [email protected]:

Ho fatto una comparazione con alcune versioni sotto linux. Purtroppo la
velocissima p129, sotto linux mi da un errore di compilazione, in
compenso la nuova 1.9.2 è ancora meglio, avvicinandosi molto a jruby:

Ruby vs Python vs Windows vs Linux
http://mastrodonato.info/index.php/2010/03/ruby-vs-python-vs-windows-vs-linux/

Hai pensato di provare anche groovy?