Treffen Sie unser Team in San Diego, USA, von Dienstag, 23., bis Donnerstag, 25. April, bei XPONENTIAL, Stand 4700

Aktualisierung (21 / 04 / 2024): Wir haben alle unsere Produkte auf Lager, finden Sie uns auch in und    Jetzt shoppen

Treffen Sie unser Team in San Diego, USA, von Dienstag, 23., bis Donnerstag, 25. April, bei XPONENTIAL, Stand 4700

Messen der SBC-Anwendungsleistung

SBC-Leistung

Während des Anwendungsdesigns müssen Sie wissen, was Sie vom SBC in Bezug auf die Rechengeschwindigkeit erwarten können, um eine Anwendung zu entwerfen, die alle ankommenden Daten verarbeiten kann.

In diesem Tutorial stellen wir eine Methode vor, um die SBC-Leistung in verschiedenen Aufgaben zu messen und sie auf die Größe Ihrer Anwendung zu extrapolieren.

Messen des Codes

Um den Code zu messen, verwenden wir einfache Funktionen, die die erforderliche Zeit zum Senden oder Empfangen einer Reihe von Bytes berechnen. Mit diesen Informationen haben wir genug, um die CPU-Auslastung zu berechnen und eine Anwendung zu dimensionieren.

Below we give you an example to benchmark GPS- Ortung 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

Die Ergebnisse

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]

Berechnung der CPU-Auslastung

Wie in der Tabelle gezeigt, kann der SBC 88 [KB/s] an das GPS senden, wobei 100 % der CPU verwendet werden. Das bedeutet auch, dass Ihre Anwendung, wenn sie 8.8 [KB/s] an das GPS sendet, 10 % der CPU verwendet.

Die gleiche Idee kann auf jede Anwendung angewendet werden, um eine Annäherung an die CPU-Auslastung zu erhalten und Ihre Anwendung richtig zu dimensionieren.

Wenn Ihnen dieser Inhalt gefallen hat, können Sie uns weiter folgen Twitter, YouTube, Facebook or LinkedIn um über solche Inhalte auf dem Laufenden zu bleiben.

Haben Sie Fragen oder Wünsche?
Kontaktiere uns! Wir antworten <24 Stunden!

Symbol
Kontakt ArduSimple
Menu

Möchten Sie mehr über GPS erfahren/RTK?

1. Unser Engineering-Team wird sich mit Ihnen in Verbindung setzen, um alle Fragen zu klären
2. Wir halten Sie über Werbeaktionen und neue Produktveröffentlichungen auf dem Laufenden
3. Sie hören nur von uns, wenn wir wichtige Neuigkeiten haben, wir spammen Ihre E-Mail nicht zu