[ruby-it] 100% cpu
Alessandro Scolavino
scolas a gmail.com
Mar 3 Mar 2009 19:35:00 CET
Paolo Montrasio wrote:
> Alessandro Scolavino wrote:
>> 4 ore di prove e test e ho risolto, tutto dipendeva da strftime, per le
>> date non è performante conviene fare a mano ad
>> es.
>> "#{data.day}-#{data.month}-#{data.year}" vs data.strftime("%d-%m-%Y")
>> differenza quasi 0.2 secondi!!!
>> (il primo è istantaneo)
>>
>> Si impara sempre qualcosa di nuovo!
>
> Fantastico! Googlando dopo questa notizia ho trovato Date::Performance,
> una gemma che riscrive l'implementazione della classe Date in C.
>
> Documentazione: http://tomayko.com/src/date-performance/
> Installazione: gem install date-performance --source=http://tomayko.com
>
> Attenzione però che durante l'installazione dice
>
>> WARNING: RubyGems 1.2+ index not found for:
>> http://tomayko.com/
>
> e fin qui tutto chiaro, e poi:
>
>> RubyGems will revert to legacy indexes degrading performance.
>
> il che è un po' preoccupante anche perché non ho trovato spiegazioni in
> giro. Immagino però che le performance ridotte siano quelle di rubygems.
>
> L'applicazione Rails su cui sto lavorando invece continua a funzionare
> dopo la require 'date/performance' per cui tutto bene. Solo che non era
> lenta prima e non pare più veloce adesso, anche se di strftime ne usa.
>
> Se Alessandro avesse ancora a portata di mano il profiler forse potrebbe
> dirci se questa nuova strftime è veloce quanto dice. Sarebbe meglio una
> strftime veloce che la conversione manuale, no?
>
> Paolo
Bhe ho fatto un pò di test (un bel pò) non ho installato
date-performance (che avevo trovato anche io :P ) per quei messaggi
inquietanti...
Allora sulla classe Date passando da una chiamata strftime a una
"manuale" risparmio in media 1 decimo di secondo, se nel codice hai
poche chiamate non te ne accorgi, ma un ciclo come il mio che ne
eseguiva una 60-70ina inizia a diventare doloroso...
appena ho 1 oretta faccio una serie di test con profiler sulle 3 classi
e pubblico i risultati
--
Posted via http://www.ruby-forum.com/.
More information about the Ml
mailing list