Mesurer les performances des applications SBC

Performances CSC

Lors de la conception de l'application, vous devez savoir à quoi vous attendre du SBC en termes de vitesse de calcul pour concevoir une application capable de traiter toutes les données entrantes.

Dans ce tutoriel, nous présentons une méthode pour mesurer les performances SBC dans différentes tâches et comment l'extrapoler pour dimensionner votre application.

Mesurer le code

Pour mesurer le code, nous utilisons des fonctions simples qui calculent le temps nécessaire pour envoyer ou recevoir un tas d'octets. Avec ces informations, nous en avons assez pour calculer l'utilisation du processeur et dimensionner une application.

Ci-dessous, nous vous donnons un exemple pour comparer les opérations d'écriture GPS. Il envoie simplement des données factices au GPS et mesure son temps. La valeur de retour a des unités de [octets/seconde]

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

Resultats

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]

Calcul de l'utilisation du processeur

Comme indiqué dans le tableau, le SBC peut envoyer 88 [Ko/s] au GPS, en utilisant 100 % du CPU. Cela signifie également que si votre application envoie 8.8[Ko/s] au GPS, elle utilise les 10 % de CPU.

La même idée peut être appliquée à n'importe quelle application pour obtenir une approximation de l'utilisation du processeur et dimensionner correctement votre application.

Si vous avez aimé ce contenu, vous pouvez nous suivre sur Twitter, YouTube, Facebook or LinkedIn pour rester à jour de contenu comme celui-ci.

Want en savoir plus sur le GPS/RTK ?

1. Notre équipe d'ingénieurs vous contactera pour résoudre toutes les questions
2. Nous vous tiendrons au courant des promotions et des nouvelles versions de produits
3. Vous n'entendrez parler de nous que lorsque nous aurons importéant nouvelles, nous ne spammerons pas votre e-mail