Pregunta


¿Hay alguna forma rápida de evaluar el rendimiento / tiempo de ejecución de una parte de cierta parte escrita en el nuevo campo de juegos Xcode 6?
Quiero comenzar a aprender Swift comparando diferentes estilos de codificación para ciertas soluciones y su impacto en el rendimiento del Código.

¿Fue útil?

Solución

Desalentamos firmemente el uso de parques infantiles para medir el rendimiento, al menos usando el tiempo como su medida de rendimiento.Por mucho, la mayoría de los tiempos tomados durante un patio de recreo es el registro de resultados para mostrar en la barra lateral;El tiempo real que lleva su código no contribuye tanto.Por lo tanto, el tiempo de ejecución de su código en un patio de recreo dependerá principalmente de la cantidad de líneas de código que se ejecuten / los resultados se registren.

Si desea realizar mediciones de rendimiento, consulte el marco de XCTST.Puede crear un paquete de prueba para su código SWIFT.

Una cosa que puede medir en un parque infantil es la cantidad de veces que se ejecutan sus líneas de código.Entonces, si, por ejemplo, está tratando de medir la complejidad algorítmica de algún código, podría hacerlo en función de la cantidad de veces que necesita para ejecutar líneas de código a, por ejemplo,Completa un tipo, o lo que sea que esté tratando de hacer.Líneas de código que se ejecutan más de una vez Muestra la cantidad de veces que se ejecutan en la barra lateral de resultados.

Otros consejos

He construido esta pequeña herramienta que le permite tener pruebas de rendimiento en su parque infantil.

Continuaré actualizándolo y lo mejoraré, pero por ahora, le dará la capacidad básica para medir cuánto tiempo tarda una función.

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

He encontrado una solución (tal vez no tan elegante):

var start = TickCount()

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

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


La variable 'DUR' le brinda las garrapatas que necesita su código para ejecutar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top