Forum: Italian Ruby user group Ruby vs Ruby vs Python vs Python

Posted by Marco Mastrodonato (marcomd)
on 2010-01-24 23:40
Un curioso benchmark che mette a confronto le ultime versioni:

http://mastrodonato.info/index.php/2010/01/ruby-vs-ruby-vs-python-vs-python/
Posted by Simone R. (athlon)
on 2010-01-28 00:05
Marco Mastrodonato 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 ;-)
Posted by Marco Mastrodonato (marcomd)
on 2010-01-28 15:14
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.
Posted by Paolo Montrasio (pmontrasio)
on 2010-01-29 19:07
Marco Mastrodonato 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
Posted by Simone R. (athlon)
on 2010-01-30 15:21
Marco Mastrodonato 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 ?
Posted by Marco Mastrodonato (marcomd)
on 2010-02-02 18:38
Paolo Montrasio 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
Posted by Marco Mastrodonato (marcomd)
on 2010-02-02 18:42
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 :)
Posted by Marco Mastrodonato (marcomd)
on 2010-02-03 21:45
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.
Posted by Simone R. (athlon)
on 2010-02-15 12:38
Marco Mastrodonato 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"


Posted by Marco Mastrodonato (marcomd)
on 2010-02-17 18:34
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.
Posted by Marco Mastrodonato (marcomd)
on 2010-03-05 23:42
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/
Posted by Msan Msan (msan)
on 2010-03-08 10:35
(Received via mailing list)
2010/3/5 Marco Mastrodonato <m.mastrodonato@gmail.com>:
> 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?
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.