Quelle Calculatrice Choisir 2021 édition Universelle
Épisode 9 - Performances Python

TI-Planet
en cette rentrée 2021, nous te publions la base de données intégrale de nos classements de rentrée QCC
organisés depuis la rentrée 2015.Nous en profitons de plus pour te réaliser le travail titanesque d'étendre les tests aux modèles plus anciens :
- toutes les calculatrices graphiques Texas Instruments(depuis la premièreTI-81de 1990)
- les calculatrices graphiques Casiode la générationIcon Menu Power Graphic(depuis 1996)
163
modèles différents testés sous toutes leurs coutures, 10 ans de tests et découvertes à portée de clic ! 
Aujourd'hui parlons à nouveau performances, mais en
Contrairement aux langages constructeurs/historiques,
Python
. Contrairement aux langages constructeurs/historiques,
Python
distingue les nombres entiers des nombres flottants. Nous effectuerons 2 tests et chronométrerons leur durée :- un test de calcul en virgule flottante
- un test de calcul sur des entiers
Dans un premier temps, nous allons évaluer les performances de calcul en virgule flottante. Voici la transcription en
Nous appellerons
Python
d'un algorithme de seuil sur une suite numérique, niveau Première :- Code: Select all
try:
from time import *
except:
pass
def hastime():
try:
monotonic()
return True
except:
return False
def seuil(d):
timed,n=hastime(),0
start,u=0 or timed and monotonic(),2.
d=d**2
while (u-1)**2>=d:
u=1+1/((1-u)*(n+1))
n=n+1
return [(timed and monotonic() or 1)-start,n,u]
Nous appellerons
seuil(0.008)
.- 0,087s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,258s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,297s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,376s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 0,498s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,785s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,61s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 3,27s:Casio Graph 90+E(32 bits : SH4 @117,96MHz)
- 3,99s:TI-83 Premium CE Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4,01s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,21s:Casio Graph 35+E II(32 bits : SH4 @58,98MHz)
- 0,087s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,258s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,297s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,376s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 0,609s:TI-Nspire CX(révisions A-V)
- 0,498s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,544s:NumWorks N0110
- 0,785s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 0,868s:TI-Nspire CX CR4+(révisions W+)
- 1,61s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 3,27s:Casio Graph 90+E(32 bits : SH4 @117,96MHz)
- 3,99s:TI-83 Premium CE Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4,01s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 5,45s:TI-Nspire CX(révisions A-V)
- 6,69s:NumWorks N0110
- 7,63s:TI-Nspire CX CR4+(révisions W+)
- 9,21s:Casio Graph 35+E II(32 bits : SH4 @58,98MHz)
- 0,087s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,258s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,297s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,376s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 0,396s:TI-Nspire CX(révisions A-V)
- 0,498s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,544s:NumWorks N0110
- 0,65s:TI-Nspire CX CR4+(révisions W+)
- 0,785s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,61s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 3,27s:Casio Graph 90+E(32 bits : SH4 @117,96MHz)
- 3,99s:TI-83 Premium CE Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4,01s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4,13s:TI-Nspire CX(révisions A-V)
- 6,69s:NumWorks N0110
- 7,19s:TI-Nspire CX CR4+(révisions W+)
- 9,21s:Casio Graph 35+E II(32 bits : SH4 @58,98MHz)
- 0,087s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,258s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,297s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,376s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 0,498s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,785s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,61s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 3,27s:Casio Graph 90+E / fx-CG50(32 bits : SH4 @117,96MHz)
- 3,73s:TI-83 Premium CE+TI-Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 3,99s:TI-83 Premium CE Edition Python / TI-84 Plus CE Python Edition(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4,01s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,21s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98MHz)
- 0,025s:TI-Nspire CX II
- 0,087s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,232s:TI-Nspire CX II
- 0,258s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,297s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,376s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 0,47s:TI-Nspire
- 0,48s:TI-Nspire CX(révisions A-V)
- 0,498s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,544s:NumWorks N0110
- 0,609s:TI-Nspire CX(révisions A-V)
- 0,68s:TI-Nspire CX CR4+(révisions W+)
- 0,785s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 0,868s:TI-Nspire CX CR4+(révisions W+)
- 1,61s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 1,909s:TI-Nspire CX II
- 3,27s:Casio Graph 90+E / fx-CG50(32 bits : SH4 @117,96MHz)
- 3,73s:TI-83 Premium CE+TI-Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 3,9s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98- CasioPython)
- 3,99s:TI-83 Premium CE Edition Python / TI-84 Plus CE Python Edition(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4s:Casio Graph 35/75+E / 35/75/95 / fx-9750/9860GII(32 bits : SH4 @29,49MHz- CasioPython)
- 4,01s:TI-82 Advanced Edition Python
- 4,4s:TI-83 Premium CE+TI-Python
- 5,29s:Casio Graph 35/75/85/95 / fx-9750/9860GII / fx-9860G(32 bits : SH3 @29,49MHz- CasioPython)
- 5,45s:TI-Nspire CX(révisions A-V)
- 5,48s:Casio Graph 90+E / fx-CG50(32 bits : SH4 @117,96MHz- KhiCAS)
- 6,69s:NumWorks N0110
- 9,21s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98MHz)
- 13,93s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98MHz- KhiCAS)
- 7,63s:TI-Nspire CX CR4+(révisions W+)
- 15,05s:Casio fx-CG10/20(32 bits : SH4 @58,98MHz- KhiCAS)
- 0,022s:TI-Nspire CX II
- 0,087s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,142s:TI-Nspire CX II
- 0,257s:TI-Nspire CX II
- 0,258s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,27s:TI-Nspire CX(révisions A-V)
- 0,376s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 0,38s:TI-Nspire
- 0,396s:TI-Nspire CX(révisions A-V)
- 0,498s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,53s:TI-Nspire CX CR4+(révisions W+)
- 0,544s:NumWorks N0110
- 0,59s:Casio Graph 35/75+E / 35/75/95 / fx-9750/9860GII
- 0,65s:TI-Nspire CX CR4+(révisions W+)
- 0,785s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 0,79s:Casio Graph 35+E II / fx-9750/9860GIII
- 1,589s:TI-Nspire CX II
- 1,61s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 1,86s:Casio Graph 35+E II / fx-9750/9860GIII
- 1,876s:Casio Graph 35/75/85/95 / fx-9750/9860GII / fx-9860G
- 2,15s:Casio Graph 90+E / fx-CG50
- 2,96s:Casio Graph 35+E II / fx-9750/9860GIII
- 3,65s:Casio Graph 90+E / fx-CG50
- 3,718s:Casio fx-CG10/20
- 3,73s:TI-83 Premium CE+TI-Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 3,99s:TI-83 Premium CE Edition Python / TI-84 Plus CE Python Edition(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 4,01s:TI-82 Advanced Edition Python
- 4,13s:TI-Nspire CX(révisions A-V)
- 4,4s:TI-83 Premium CE+TI-Python
- 6,69s:NumWorks N0110
- 7,19s:TI-Nspire CX CR4+(révisions W+)
Passons maintenant aux entiers avec un test de primalité, que voici en
Nous appellerons ici
Python
:- Code: Select all
try:from time import monotonic
except:pass
def hastime():
try:
monotonic()
return True
except:return False
def nodivisorin(n,l):
for k in l:
if n//k*k==n:
return False
return True
def isprimep(n):
t=hastime()
s,l,k=0 or t and monotonic(),[3],7
if n==2 or n==5:return True
if int(n)!=n or n//2*2==n or n//5*5==5:
return False
if n<k:return n in l
while k*k<n:
if nodivisorin(k,l):l.append(k)
k+=2+2*((k+2)//5*5==k+2)
r=nodivisorin(n,l)
return (t and monotonic() or 1)-s,r
Nous appellerons ici
isprimep(10000019)
.- 0,171s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,449s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,451s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,581s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 1,17s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,58s:Casio Graph 90+E(32 bits : SH4 @117,96MHz)
- 4,39s:Casio Graph 35+E II(32 bits : SH4 @58,98MHz)
- 4,42s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 8,91s:TI-83 Premium CE Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,22s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 16,05s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 0,171s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,449s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,451s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,794s:TI-Nspire CX(révisions A-V)
- 0,581s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,715s:NumWorks N0110
- 1,17s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,18s:TI-Nspire CX CR4+(révisions W+)
- 1,58s:Casio Graph 90+E(32 bits : SH4 @117,96MHz)
- 4,39s:Casio Graph 35+E II(32 bits : SH4 @58,98MHz)
- 4,42s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 8,91s:TI-83 Premium CE Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,22s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 16,05s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 36,26s:TI-Nspire CX(révisions A-V)
- 42,75s:NumWorks N0110
- 53,24s:TI-Nspire CX CR4+(révisions W+)
- 0,171s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,449s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,451s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,511s:TI-Nspire CX(révisions A-V)
- 0,581s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,715s:NumWorks N0110
- 0,821s:TI-Nspire CX CR4+(révisions W+)
- 1,17s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,58s:Casio Graph 90+E(32 bits : SH4 @117,96MHz)
- 4,39s:Casio Graph 35+E II(32 bits : SH4 @58,98MHz)
- 4,42s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 8,91s:TI-83 Premium CE Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,22s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 16,05s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 29,20s:TI-Nspire CX(révisions A-V)
- 42,75s:NumWorks N0110
- 45,34s:TI-Nspire CX CR4+(révisions W+)
- 0,171s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,449s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,451s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,581s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 1,17s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,58s:Casio Graph 90+E / fx-CG50(32 bits : SH4 @117,96MHz)
- 4,39s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98MHz)
- 4,42s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 8,1s:TI-83 Premium CE+TI-Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 8,91s:TI-83 Premium CE Edition Python / TI-84 Plus CE Python Edition(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,22s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 16,05s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 0,171s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,307s:TI-Nspire CX II
- 0,323s:TI-Nspire CX II
- 0,449s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,451s:TI-Nspire CX II(32 bits : ARM9/ARMv5 @396MHz)
- 0,581s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,62s:TI-Nspire CX(révisions A-V)
- 0,67s:TI-Nspire
- 0,715s:NumWorks N0110
- 0,794s:TI-Nspire CX(révisions A-V)
- 0,99s:TI-Nspire CX CR4+(révisions W+)
- 1,17s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,18s:TI-Nspire CX CR4+(révisions W+)
- 1,58s:Casio Graph 90+E / fx-CG50(32 bits : SH4 @117,96MHz)
- 3,04s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98- CasioPython)
- 4,39s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98MHz)
- 4,42s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 4,89s:Casio Graph 35/75+E / 35/75/95 / fx-9750/9860GII(32 bits : SH4 @29,49MHz- CasioPython)
- 5,24s:Casio Graph 35/75/85/95 / fx-9750/9860GII / fx-9860G(32 bits : SH3 @29,49MHz- CasioPython)
- 8,1s:TI-83 Premium CE+TI-Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 8,91s:TI-83 Premium CE Edition Python / TI-84 Plus CE Python Edition(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,22s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 11,26s:TI-83 Premium CE+TI-Python
- 11,62s:TI-Nspire CX II
- 16,05s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 32,76s:Casio Graph 90+E / fx-CG50(32 bits : SH4 @117,96MHz- KhiCAS)
- 36,26s:TI-Nspire CX(révisions A-V)
- 42,75s:NumWorks N0110
- 53,24s:TI-Nspire CX CR4+(révisions W+)
- 91,71s:Casio Graph 35+E II / fx-9750/9860GIII(32 bits : SH4 @58,98MHz- KhiCAS)
- 102,04s:Casio fx-CG10/20(32 bits : SH4 @58,98MHz- KhiCAS)
- 0,171s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzPython)
- 0,206s:TI-Nspire CX II
- 0,263s:TI-Nspire CX II
- 0,382:TI-Nspire CX II
- 0,42s:TI-Nspire CX(révisions A-V)
- 0,449s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzPython)
- 0,511s:TI-Nspire CX(révisions A-V)
- 0,57s:TI-Nspire
- 0,58s:Casio Graph 35/75+E / 35/75/95 / fx-9750/9860GII
- 0,581s:NumWorks N0110(32 bits : Cortex-M7/ARMv7 @216MHz)
- 0,59s:Casio Graph 35+E II / fx-9750/9860GIII
- 0,63s:TI-Nspire CX CR4+(révisions W+)
- 0,715s:NumWorks N0110
- 0,821s:TI-Nspire CX CR4+(révisions W+)
- 0,86s:Casio Graph 35+E II / fx-9750/9860GIII
- 1,08s:Casio Graph 90+E / fx-CG50
- 1,17s:NumWorks N0100(32 bits : Cortex-M4/ARMv7 @100MHz)
- 1,688s:Casio Graph 35/75/85/95 / fx-9750/9860GII / fx-9860G
- 4,42s:HP Prime G2(32 bits : Cortex-A7/ARMv7 @528MHzCAS)
- 8,1s:TI-83 Premium CE+TI-Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 8,91s:TI-83 Premium CE Edition Python / TI-84 Plus CE Python Edition(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9,22s:TI-82 Advanced Edition Python(8 + 32 bits : eZ80 @48MHz+ Cortex-M0+/ARMv6 @48MHz)
- 9.964s:TI-Nspire CX II
- 11,26s:TI-83 Premium CE+TI-Python
- 16,05s:HP Prime G1(32 bits : ARM9/ARMv5 @400MHzCAS)
- 19,06s:Casio Graph 35+E II / fx-9750/9860GIII
- 22,77s:Casio Graph 90+E / fx-CG50
- 29,20s:TI-Nspire CX(révisions A-V)
- 30,85s:Casio fx-CG10/20
- 42,75s:NumWorks N0110
- 53,24s:TI-Nspire CX CR4+(révisions W+)
Deux indices de performances représentant chacun de ces deux tests sont dès maintenant disponibles, également pour les modèles plus anciens que nous avions encore sous la main via leurs solutions
Python
non officielles :