[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