Non si può negare il fatto che il mondo funziona grazie alle idee. Una piccola idea eseguita con successo può rendere qualcuno un miliardario, come si può vedere con le persone che hanno guadagnato soldi con una sola idea. Il proliferare delle tecnologie ha fatto sì che si abbiano a disposizione strumenti per dare forma alle proprie idee. Se hai un’idea, tutto ciò di cui hai bisogno è un investimento di capitale. Non hai nemmeno bisogno di grandi soldi. Puoi facilmente esternalizzare le tue idee e realizzarle con una frazione dei costi. Le applicazioni sono davvero preziose nel mondo degli affari di oggi, soprattutto quelle che possono essere realizzate molto prima rispetto ai tempi convenzionali e con la richiesta di immettere l'applicazione sul mercato il prima possibile, molte organizzazioni rinunciano a verificarne le prestazioni. Un'applicazione eseguita in modo errato può influire negativamente sul tuo sito web e ostacolare il nome del tuo marchio, per non parlare dei problemi di sicurezza, dell'enorme perdita di entrate e della perdita della fiducia dei clienti. Dopo tutto, se un'applicazione non funziona bene, che tipo di vantaggi può offrire?
Ruby-Prof è uno strumento di ottimizzazione delle prestazioni per applicazioni basate su Ruby. Come estensione C, è molto più veloce del profilatore Ruby standard e supporta sia profili piatti che grafici. Ruby-prof mostra i profili grafici per ciascun metodo, mostrando per quanto tempo è stato eseguito il metodo, quali metodi lo hanno chiamato e quali metodi ha chiamato. Ruby-prof fornisce sia testo che html e può inviarlo in output standard o in un file. Questa gemma Ruby può misurare diversi parametri, inclusi i tempi di chiamata, l'allocazione degli oggetti e l'utilizzo della memoria. Poiché questo gioiello può supportare la profilazione di più thread contemporaneamente, è una delle migliori scommesse per qualsiasi applicazione basata su Ruby. Tuttavia, ruby-prof può essere eseguito solo su Ruby versione 1.9.3 o successiva e se usi Linux o UNIX, potresti aver bisogno di un compilatore C per l'estensione da compilare al momento dell'installazione. Su Windows, dovresti installare Ruby Gem specifico per Windows, incorporando un'estensione già creata.
Come installare Ruby-Prof Gem
git clone git://github.com/jeremy/ruby-prof.git cd ruby-prof/ rake gem sudo gem install pkg/ruby-prof-0.6.1.gemImpostazione di un nuovo ambiente per la profilazione
Crea config/environments/profiling.rb: config.cache_classes = true config.action_controller.consider_all_requests_local = false config.action_controller.perform_caching = true config.action_view.cache_template_loading = true #config.log_level = :debugAggiungi il nuovo ambiente a database.yml. Potresti voler riutilizzare il database di sviluppo. Creazione di uno script di profilazione: Successivamente creeremo uno script che recupera semplicemente la homepage, salvando il seguente codice in profiling/homepage.rb:
get '/' dì "GET / => #{percorso}"Esegui lo script Ora esegui lo script 100 volte:
RAILS_ENV=profiling ./script/performance/request -n 100 profiling/homepage.rbProfilazione di applicazioni Ruby semplici Puoi anche profilare un blocco di codice chiamando RubyProf dal tuo codice:
require 'ruby-prof' # Profila il codice RubyProf.start … [codice nel profilo] … risultati = RubyProf.stop File.open “#{RAILS_ROOT}/tmp/profile-graph.html”, 'w' do |file| RubyProf::GraphHtmlPrinter.new(risultati).print(file) end File.open “#{RAILS_ROOT}/tmp/profile-flat.txt”, 'w' do |file| RubyProf::FlatPrinter.new(risultati).print(file) end File.open “#{RAILS_ROOT}/tmp/profile-tree.prof”, 'w' do |file| RubyProf::CallTreePrinter.new(risultati).print(file) fineAnalisi dei risultati: RubyProf::CallTreePrinter per generare dati che kcachegrind può leggere. I dati HTML e di testo sono difficili da leggere, quindi kcachegrind ti renderà sicuramente la vita più semplice. Su OSX puoi installare kcachegrind con Fink (o DarwinPorts):
sudo apt-get aggiornamento; sudo apt-get install fink sudo apt-get install kcachegrindSorgente del codice: (https://github.com/ruby-prof/ruby-prof) Assicurati sempre di testare la tua applicazione con questo profiler Ruby-Gem e di misurarla rispetto alla tua app poiché non solo ottimizzerà i tuoi codici ma sarà molto conveniente, per non parlare del fatto che l'efficienza della tua applicazione migliorerà notevolmente. Vuoi saperne di più su come funzionano questa e altre gemme? Con soluzioni ingegnose, valori aziendali progressisti e comprovata esperienza, RailsCarma è più adatto per aiutarti con tutte le tue esigenze di sviluppo. Il nostro processo di sviluppo si basa fortemente sull'instancabile attenzione ai dettagli, tra cui qualità, design ed eccellenza. Trasformiamo le tue idee in realtà. Collegati a noi attraverso il ns Contattaci pagina. Leggi articoli simili:
Iscriviti per gli ultimi aggiornamenti
Articoli correlati