He vuelto a repetir los test que hice el año pasado siguiendo el ejemplo de David Hunt. Hay dos diferencias:
- Esta vez añado las placas Banana PRO y ODROID-C1
- 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.
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 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.
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.