Conoce a nuestro equipo en San Diego, Estados Unidos, desde el martes 23 hasta el jueves 25 de abril en XPONENTIAL, stand 4700

Actualización (19 / 04 / 2024): Disponemos de amplio stock de todos nuestros productos, encuéntranos también en y    Comprar ahora

Conoce a nuestro equipo en San Diego, Estados Unidos, desde el martes 23 hasta el jueves 25 de abril en XPONENTIAL, stand 4700

Medición del rendimiento de la aplicación SBC

Rendimiento SBC

Durante el diseño de la aplicación, debe saber qué esperar del SBC en términos de velocidad de cómputo para diseñar una aplicación que pueda procesar todos los datos entrantes.

En este tutorial presentamos un método para medir el rendimiento de SBC en diferentes tareas y cómo extrapolarlo al tamaño de su aplicación.

Midiendo el código

Para medir el código usamos funciones simples que calculan el tiempo requerido para enviar o recibir un montón de bytes. Con esa información, tenemos suficiente para calcular el uso de la CPU y dimensionar una aplicación.

Below we give you an example to benchmark GPS write operations. It simply sends dummy data to the GPS and measures its time. The return value has units of [bytes/second]

def benchmark_gps_write( chunk=64, N=128, baudrate=921600 ):
    gps = sbc.Gps( 1, baudrate )
    buf = bytearray( chunk )

    t0 = time.ticks_us()
    for i in range( N ): # send len(buf) bytes N times
        gps.write( buf )
    t1 = time.ticks_us()
    
    dt_s = time.ticks_diff( t1, t0 )*1e-6 # Compute time
    size_bytes = chunk*N
    
    return size_bytes/dt_s

Resultados

TaskResultUnits
ubx_parser3.25e+04[B/s]
ubx_builder1.09e+05[B/s]
nmea_parser1.47e+04[B/s]
flash_write1.82e+04[B/s]
flash_read4.93e+05[B/s]
sd_write4.46e+04[B/s]
sd_read4.26e+05[B/s]
gps_write8.85e+04[B/s]
imu_read4.68e+02[Samples/s]
ahrs_update1.01e+05[Calls/s]
gc_collect4.89e+02[Calls/s]
printf7.67e+05[B/s]

Cálculo del uso de la CPU

Como se muestra en la tabla, el SBC puede enviar 88 [KB/s] al GPS, utilizando el 100 % de la CPU. También significa que si su aplicación envía 8.8[KB/s] al GPS, usa el 10% de la CPU.

La misma idea se puede aplicar a cualquier aplicación para obtener una aproximación del uso de la CPU y dimensionar su aplicación correctamente.

Si te ha gustado este contenido, puedes seguirnos en Twitter, YouTube, Facebook or Etiqueta LinkedIn para mantenerse actualizado de contenido como este.

¿Tienes alguna pregunta o solicitud?
¡Contáctenos! ¡Responderemos <24 horas!

Ícono
Contacto ArduSimple
Cerrar

¿Quieres aprender más sobre GPS/RTK?

1. Nuestro equipo de ingeniería se pondrá en contacto contigo para resolver cualquier duda
2. Lo mantendremos informado sobre promociones y lanzamientos de nuevos productos.
3. Solo sabrá de nosotros cuando tengamos noticias importantes, no enviaremos spam a su correo electrónico.