Atualização (10/07/2025): Temos bastante estoque de todos os nossos produtos, encontre-nos também em e    comprar agora

Medindo o desempenho do aplicativo SBC

Desempenho SBC
Desempenho SBC

Durante o design do aplicativo, você precisa saber o que esperar do SBC em termos de velocidade de computação para projetar um aplicativo que possa processar todos os dados recebidos.

Neste tutorial apresentamos um método para medir o desempenho do SBC em diferentes tarefas e como extrapolá-lo para dimensionar sua aplicação.

Medindo o código

Para medir o código, usamos funções simples que calculam o tempo necessário para enviar ou receber um monte de bytes. Com essas informações, temos o suficiente para calcular o uso da CPU e dimensionar um aplicativo.

Abaixo, damos a você um exemplo para comparar as operações de gravação do GPS. Ele simplesmente envia dados fictícios para o GPS e mede seu tempo. O valor de retorno tem unidades de [bytes/segundo]

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 de uso da CPU

Conforme mostrado na tabela o SBC pode enviar 88[KB/s] para o GPS, utilizando 100% da CPU. Isso também significa que se seu aplicativo enviar 8.8 [KB/s] para o GPS, ele usará 10% da CPU.

A mesma ideia pode ser aplicada a qualquer aplicativo para obter uma aproximação do uso da CPU e dimensionar seu aplicativo corretamente.

Se você gostou deste conteúdo, você pode nos seguir no Twitter, YouTube, Facebook or LinkedIn para ficar atualizado de conteúdo como este.

Tem alguma dúvida ou pedido?
Contate-nos! Responderemos <24 horas!

ícone
Contato ArduSimple
Fechar

Quer saber mais sobre GPS/RTK?

1. Nossa equipe de engenharia entrará em contato com você para resolver qualquer dúvida
2. Manteremos você atualizado sobre promoções e lançamentos de novos produtos
3. Você só receberá notícias nossas quando tivermos notícias importantes, não enviaremos spam para seu e-mail