sysbench | Raspberry Pi vs ODROID vs Banana PRO

He vuelto a repetir los test que hice el año pasado siguiendo el ejemplo de David Hunt. Hay dos diferencias:

  1. Esta vez añado las placas Banana PRO y ODROID-C1
  2. Y hago los test no solo usando todos los cores disponibles, sino usando solo 1, 2, 3 o todos. Creo que al ver las tablas se entiende.

He tratado de homogeneizar las condiciones pero ha sido más o menos imposible. La principal diferencia era que quería usar la misma memoria microSD en todos los casos y no ha podido ser por culpa de ODROID. Así que las dos Raspberry Pi y la Banana PRO usaron una Samsung de 16 GB clase 10, la ODROID-C1 una Sandisk Ultra de 16GB clase 10 y la ODROID-U3 una memoria eMMC interna de 16GB.

bpro-1-1

Todas llevan sistemas operativos basados en Debian, las Raspberrys con Raspbian y el resto Lubuntu.

Estos test permiten ver la potencia en caso de que el software no aproveche todos los cores y las diferencias que se producen por las distintas tecnologías (ARM11, Cortex-A5, Cortex-A7 y Cortex-A9) y juegos de instrucciones (ARMv6 vs ARMv7).

Al final, además de las gráficas que dejan bastantes cosas claras, os añado unas conclusiones mías. Todo esto a falta de darle una vuelta más con la Raspberry Pi 2 que aún no tengo.

raspi-b_odroid-c1_banana-pro-02

sysbench --test=cpu --num-threads=x run

  • Banana PRO
    • 1 thread = 319,3267
    • 2 trhreads = 158,5294
  • Raspi A+
    • 1 thread = 400,1678
  • Raspi B+
    • 1 = 391,1017
  • ODROID-C1
    • 1 = 217,7045
    • 2 = 109,8095
    • 3 = 73,2545
    • 4 = 55,2390
  • ODROID-U3
    • 1 = 133,3515
    • 2 = 66,7615
    • 3 = 44,7066
    • 4 = 34,1491

sysbench --test=memory --memory-block-size=1M --memory-total-size=10G --num-threads=x run

  • Banana PRO
    • 1 = 1,9740
    • 2 = 1,6089
  • Raspi A+
    • 1 = 5,1151
  • Raspi B+
    • 1 = 5,1733
  • ODROID-C1
    • 1 = 1,4162
    • 2 = 0,7205
    • 3 = 0,7110
    • 4 = 0,6521
  • ODROID-U3
    • 1 = 0,6419
    • 2 = 0,3805
    • 3 = 0,4775
    • 4 = 0,4376

crear ficheros sysbench --test=fileio --file-test-mode=rndwr --file-total-size=16MB prepare

sysbench --test=fileio --file-test-mode=rndwr --file-total-size=16MB --max-requests=1000 --num-threads=x run

  • Banana PRO
    • 1 = 0,0854
    • 2 = 0,0679
  • Raspi A+
    • 1 = 0,1568
  • Raspi B+
    • 1 = 0,1246
  • ODROID-C1
    • 1 = 0,0460
    • 2 = 0,3082
    • 3 = 0,4175
    • 4 = 0,8662
  • ODROID-U3
    • 1 = 0,1692
    • 2 = 0,1233
    • 3 = 0,0908
    • 4 = 0,0644

sysbench --test=fileio --file-test-mode=rndrd --file-total-size=16MB --max-requests=10000 --num-threads=x run

  • Banana PRO
    • 1 = 0,3850
    • 2 = 0,2721
  • Raspi A+
    • 1 = 0,8470
  • Raspi B+
    • 1 = 0,7131
  • ODROID-C1
    • 1 = 0,2428
    • 2 = 0,1492
    • 3 = 0,1312
    • 4 = 0,1319
  • ODROID-U3
    • 1 = 0,2776
    • 2 = 0,2371
    • 3 = 0,1814
    • 4 = 0,1203

Conclusiones

Esta claro que a más megaherzios más rendimiento, y a más cores más también mejores resultados. Pero por ejemplo:

  • la Banana PRO con más o menos la misma velocidad de procesador (850MHz vs 900MHz) siempre rinde mejor con un solo core que las Raspberry Pi, aquí tenemos: ARM11 vs Cortex-A7 y ARMv6 vs ARMv7
  • las ODROID rinden más por megaherzios (1500MHz vs 1600MHz) pero también la ODROID-U3 siempre con ventaja: Cortex-A5 vs Cortex-A9
  • me ha sorprendido la poca diferencia entre la Raspberry A+ de 256Mb de RAM y la Raspberry B+ con 512MB

Solo una conclusión especial, parece que la Sandisk Ultra se comporta bastante mal en escritura y no solo la penaliza en general, sino que cuanto más se le pide con más cores peor se comporta y hunde los resultados de la ODROID-C1.

oc1-1-4