Quindi, ecco cosa dovevo fare dopo l'aggiornamento.
Bundler 1.2.x non è compatibile, genera un errore che dice di aggiornare a> = 1.3, che non è ancora stato rilasciato. Quindi, se stai usando RVM, entra nel tuo gemset globale per il ruby 2.0 e passa alla versione 1.3.pre fino a quando la versione 1.3.0 non viene rilasciata. Inoltre sembra che ci sia qualcosa con l'API dei rubygems. La mia installazione di bundle non utilizzava la nuova API, ma faceva il vecchio metodo 'fetch index', che ovviamente richiede un po 'più di tempo.
A parte questo, il mio pacchetto è stato installato in modo pulito e il mio set completo di test delle specifiche è stato completato con tutto OK. Ho fatto alcuni test di temporizzazione per vedere quanto è migliorato il tempo di caricamento dei binari.
# Using 1.9.3-p327
RSpec Time: 24.87s
Wall Time : 34.40s
Load Time : 9.53s
# Using 2.0.0-p0
RSpec Time: 22.49s (90.4%)
Wall Time : 26.89s (78.2%)
Load Time : 4.4s (46.2%)
Ovviamente il tempo di caricamento per rspec è un po 'più pesante con tutte le gemme di prova, ma ancora più di un calo del 50% nel tempo di caricamento e una riduzione del 10% del tempo di prova è piacevole.
Ho eseguito un test simile utilizzando rails runner 'puts User.count'
che saltava il bootstrap di prova.
1.9.3 : 7.27s
2.0.0 : 3.36s (46.2%)
Anche in questo caso, un bel calo di oltre il 50% :)
Tipo di ottenere fuori pista qui ... nuovi giocattoli che fanno credo, ma sembra che l'unico cambiamento che ho dovuto fare è stato l'aggiornamento ad un bundler pre-rilascio.
Ecco un altro test di diversi iteratori
$ rvm 1.9.3-p327,2.0.0-p0 --verbose do ruby test.rb
ruby-1.9.3-p327: ruby 1.9.3p327 (2012-11-10 revision 37606) [i686-linux]
user system total real
for 0.610000 0.000000 0.610000 ( 0.607189)
times 0.580000 0.000000 0.580000 ( 0.587303)
upto 0.590000 0.000000 0.590000 ( 0.585730)
each 0.590000 0.000000 0.590000 ( 0.593494)
ruby-2.0.0-p0: ruby 2.0.0p0 (2013-02-24 revision 39474) [i686-linux]
user system total real
for 0.590000 0.000000 0.590000 ( 0.582743)
times 0.560000 0.000000 0.560000 ( 0.565961)
upto 0.560000 0.000000 0.560000 ( 0.562400)
each 0.570000 0.000000 0.570000 ( 0.573469)
marginali, circa un aumento di 4-5%.
Più interessante è questo, chiamando Object.new 500 milioni di volte
1.9.3 : 129.063s
2.0.0 : 97.234s
A proposito di un calo del 25% nel momento della creazione dell'oggetto.
Sembra che non ci sia un grande elenco di rotture, l'aggiornamento ora per vedere come funziona un'applicazione di rails dal vivo. – Cluster
Invece di chiederci di prevedere qualsiasi potenziale ostacolo, vai all'aggiornamento e provalo. Chiedi qui se hai bisogno di aiuto per risolvere problemi specifici. Non sappiamo quale versione di Rails o quali gemme stai usando. – Substantial