Aktualizacja (12 / 10 / 2024): Posiadamy duży zapas wszystkich naszych produktów, znajdziesz nas również w i    Kup teraz

Pomiar wydajności aplikacji SBC

Wydajność SBC
Wydajność SBC

Podczas projektowania aplikacji musisz wiedzieć, czego się spodziewać po SBC pod względem szybkości obliczeń, aby zaprojektować aplikację, która będzie w stanie przetwarzać wszystkie nadchodzące dane.

W tym samouczku przedstawiamy metodę pomiaru wydajności SBC w różnych zadaniach oraz sposób jej ekstrapolacji w celu dostosowania do rozmiaru aplikacji.

Pomiar kodu

Do pomiaru kodu używamy prostych funkcji, które obliczają czas wymagany na wysłanie lub odebranie pakietu bajtów. Dzięki tym informacjom mamy wystarczająco dużo, aby obliczyć użycie procesora i rozmiar aplikacji.

Poniżej podajemy przykład do porównania GPS operacje zapisu. Po prostu wysyła fałszywe dane do GPS i mierzy swój czas. Wartość zwracana ma jednostki [bajtów/sekundę]

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

Efekt

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]

Obliczanie użycia procesora

Jak pokazano w tabeli, SBC może wysłać do GPS 88[KB/s], wykorzystując 100% procesora. Oznacza to również, że jeśli Twoja aplikacja wysyła 8.8 [KB/s] do GPS, zużywa 10% procesora.

Ten sam pomysł można zastosować do dowolnej aplikacji, aby uzyskać przybliżone wykorzystanie procesora i prawidłowy rozmiar aplikacji.

Jeśli podobały Ci się te treści, możesz nas śledzić Twitter, YouTube, Facebook or LinkedIn aby być na bieżąco z takimi treściami.

Masz pytania lub prośby?
Skontaktuj się z nami! Odpowiemy <24 godziny!

Ikona
Kontakt ArduSimple
Zamknij

Chcesz dowiedzieć się więcej o GPS/RTK?

1. Nasz zespół inżynierów skontaktuje się z Tobą w celu rozwiązania wszelkich pytań
2. Będziemy na bieżąco informować Cię o promocjach i nowościach produktowych
3. Dowiesz się od nas tylko wtedy, gdy będziemy mieć ważne wiadomości, nie będziemy spamować Twojego e-maila