Domanda



C'è qualche modo rapido di valutare le prestazioni / runtime di una certa parte del codice scritta nel nuovo parco giochi Xcode 6?
. Voglio iniziare ad imparare rapido confrontando diversi stili di codifica per determinate soluzioni e il loro impatto sulla performance del codice.

È stato utile?

Soluzione

Scorriamo fortemente utilizzando i parchi giochi per misurare le prestazioni, almeno usando il tempo come misura della performance.Di gran lunga la maggior parte del tempo impiegato durante un parco giochi è la registrazione dei risultati da visualizzare nella barra laterale;Il tempo reale del tuo codice prende non contribuisce tanto.Quindi il runtime del tuo codice in un parco giochi dipenderà principalmente da quante righe di codice vengono eseguite / risultati sono registrati.

Se si desidera eseguire le misurazioni delle prestazioni, controlla il quadro XCTEST.Puoi creare un fascio di test per il tuo codice SWIFT.

Una cosa che puoi misurare in un parco giochi è il numero di volte che vengono eseguite le tue linee di codice.Quindi, se, ad esempio, stai cercando di misurare la complessità algoritmica di qualche codice, potresti farlo in base a quante volte ha bisogno di eseguire linee di codice per ad es.Completa un tipo, o qualunque cosa tu stia cercando di fare.Le linee di codice che vengono eseguite più di una volta visualizzano il numero di volte che vengono eseguiti nella barra laterale dei risultati.

Altri suggerimenti

Ho costruito questo piccolo strumento che ti permette di avere il test delle prestazioni nel tuo parco giochi.

Continuerò ad aggiornarlo e migliorarlo, ma per ora, ti darà la capacità di base di misurare per quanto tempo una funzione richiede una funzione.

https://github.com/sebastienpeek/swift-performance

Ho trovato una soluzione (forse non così elegante):

var start = TickCount()

var implicitInteger = 0
for (var i = 1; i < 500; i++) {
    implicitInteger += i;
}

var end = TickCount()
var dur = end - start
.


La variabile 'DUR' ti offre le zecche il tuo codice necessario per eseguire.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top