Prochain OS NumWorks : performances encore plus écrasantes !
Posted: 17 Dec 2017, 14:56
Dans un article précédent nous découvrions que la nouvelle calculatrice NumWorks de la rentrée 2017 était nettement plus performante que la calculatrice HP Prime, raflant donc à cette dernière le titre de "calculatrice graphique la plus performante" qu'elle détenait depuis la rentrée 2013.
Selon le contexte, à code interprété équivalent, la NumWorks était de 1,32 à 2,15 fois plus rapide, ce qui était bien au-delà de la tolérance d'une simple erreur de mesure.
Selon le contexte, à code interprété équivalent, la NumWorks était de 1,32 à 2,15 fois plus rapide, ce qui était bien au-delà de la tolérance d'une simple erreur de mesure.
Cela pouvait paraître à priori surprenant quand on sait que la NumWorks dispose d'un processeur ARM Cortex-M4 cadencé à 100MHz, et la HP Prime un processeur ARM9 (ARMv5) cadencé à 400MHz.
Objectons quand même qu'il y a d'une part non pas une mais deux générations d'écart entre ces deux processeurs, en faveur de la NumWorks.
Et que d'autre part, les 400 MHz supposés de la HP Prime ne sont pas mis en avant sur les sites en hp.com. Il se pourrait qu'il s'agisse d'une fausse information propagée à tort par la communauté depuis avril 2013 suite aux premiers démontages de calculatrices HP Prime ayant révélé une puce processeur Samsung S3C2416XH-40. En effet les spécifications de cette puce mentionnent un 400 MHz mais en tant que fréquence nominale maximale à ne pas dépasser. Rien à voir donc à priori avec la fréquence réelle de la puce une fois installée dans la calculatrice. En pratique la calculatrice HP Prime, afin d'économiser la batterie, pourrait utiliser une fréquence réelle fixe inférieure, ou même variable en fonction de la charge batterie restante, mystère. Ceci expliquerait en tous cas les très nettes différences en performances.
Objectons quand même qu'il y a d'une part non pas une mais deux générations d'écart entre ces deux processeurs, en faveur de la NumWorks.
Et que d'autre part, les 400 MHz supposés de la HP Prime ne sont pas mis en avant sur les sites en hp.com. Il se pourrait qu'il s'agisse d'une fausse information propagée à tort par la communauté depuis avril 2013 suite aux premiers démontages de calculatrices HP Prime ayant révélé une puce processeur Samsung S3C2416XH-40. En effet les spécifications de cette puce mentionnent un 400 MHz mais en tant que fréquence nominale maximale à ne pas dépasser. Rien à voir donc à priori avec la fréquence réelle de la puce une fois installée dans la calculatrice. En pratique la calculatrice HP Prime, afin d'économiser la batterie, pourrait utiliser une fréquence réelle fixe inférieure, ou même variable en fonction de la charge batterie restante, mystère. Ceci expliquerait en tous cas les très nettes différences en performances.
Quoiqu'il en soit, la calculatrice NumWorks n'a pas fini de t'en faire voir de toutes les couleurs, au propre comme au figuré.
Entre la sortie du firmware 1.2.0 le 5 décembre dernier et le 7 décembre, plusieurs soumissions censées optimiser les performances ont été acceptées dans le code source officiel :
Voyons de suite ce que cela donne sur un même programme interprété, avec une recompilation du firmware NumWorks à partir du code source dans sa version du 7 décembre 2017, soit à J+2 de la version 1.2.0 :
Le firmware 1.2.0 publié met 1min14s quand la recompilation du 7 décembre ne met plus que 54 secondes, extraordinaire ! .
A moins d'être capable de recompiler le code source tu ne peux certes pas bénéficier de cette accélération à ce jour, mais cela signifie quand même que la prochaine version publiée du firmware NumWorks sera encore 1,37 fois plus performante que le firmware 1.2.0 actuel, et donc par conséquent 1,80 à 2,93 fois plus performante que la HP Prime !
Non seulement la NumWorks était déjà la meilleure calculatrice graphique sur le plan des performances, mais avec de tels rapports elle n'est visiblement pas prête de recéder sa place à un autre modèle, du moins pas parmi ceux existant à ce jour.
Entre la sortie du firmware 1.2.0 le 5 décembre dernier et le 7 décembre, plusieurs soumissions censées optimiser les performances ont été acceptées dans le code source officiel :
Voyons de suite ce que cela donne sur un même programme interprété, avec une recompilation du firmware NumWorks à partir du code source dans sa version du 7 décembre 2017, soit à J+2 de la version 1.2.0 :
- Code: Select all
from kandinsky import set_pixel
def mandelbrot(W,H,N) :
w=2.7/(W-1)
h=1.87/(H-1)
n=255.0/N
for x in range(W):
for y in range(H):
z=complex(0,0)
c=complex(w*x-2.1,.935-h*y)
for j in range(N):
z=z*z+c
if abs(z)>2:
break
set_pixel(x,y,255*65792*j+256)
Le firmware 1.2.0 publié met 1min14s quand la recompilation du 7 décembre ne met plus que 54 secondes, extraordinaire ! .
A moins d'être capable de recompiler le code source tu ne peux certes pas bénéficier de cette accélération à ce jour, mais cela signifie quand même que la prochaine version publiée du firmware NumWorks sera encore 1,37 fois plus performante que le firmware 1.2.0 actuel, et donc par conséquent 1,80 à 2,93 fois plus performante que la HP Prime !
Non seulement la NumWorks était déjà la meilleure calculatrice graphique sur le plan des performances, mais avec de tels rapports elle n'est visiblement pas prête de recéder sa place à un autre modèle, du moins pas parmi ceux existant à ce jour.