π
<-
Chat plein-écran
[^]

Benchmarking every TI-84 Plus CE OS! [5.0.0-5.6.0]

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Benchmarking every TI-84 Plus CE OS! [5.0.0-5.6.0]

Message non lude thelastmillennial » 26 Aoû 2019, 02:57

Hey, this is cross post from Cemetech, I thought you guys might find it interesting though!

As you all know, as technology gets updates with more features, that device typically starts slowing down. I was wondering, is TI doing this to our calculator's too? That's why I set up a series of tests and ran them from OS 5.0.0 to 5.4.0. Each one tests a specific function of the calculator. You can see a description of each test and the full code for each one down below.

Anyways, enjoy the chart: green is the best time and red is the worst time!
Image
Each test was performed from the RAM, on the same calculator (revision pre-A), in the same order, and after a full mem clear. The calculator was plugged in and fully charged the entire time. Each test, with the exception of prgmRAYTRSPR was completed 5 times then the times were averaged into the table above. I only ran prgmRAYTRSPR once because it takes over 30 minutes per run and ain't nobody got time to do that 5 times over! I have yet to retest OSes under 5.3.0 for new prgmRAYTRSPR times.

Overall it seems if you want the best BASIC performance, then OS 5.0.0 or OS 5.3.1 is the way to go. However, if you just care about the speed of specific functions, then you can't go wrong with OS 5.1.x or 5.2.1.

I'd like to dig into the numbers a bit more though.
    OS 5.0.0 is the champ for random numbers, graphing horizontal and vertical lines, and overall BASIC performance. Then OS 5.3.0 (relatively) crushed the times for the summation and list tests but fell behind a bit in BASIC performance.

    As you can see by the graph, the only reason the newer OSes had good total scores was because the raytracing program was such a huge factor in this test. However, if you look at each function separately, it's clear they are generally getting slower on newer OSes. :#roll#:

    TI changed something for the better between OS 5.0.0 and OS 5.1.0 that made list sorting almost 9x faster on newer OSes! Even for numbers that weren't 0s. :~o

    TI also changed something for the worse between OS 5.2.1 and OS 5.3.0 because every OS newer than 5.2.1 is typically 3 seconds slower. :o

Here are the tests I performed, you can get prgmTIMER here.
ABENCH (runs every benchmark and stores the results into a list)
Code: Tout sélectionner
SetUpEditor L₆
9→dim(L₆
prgmT01RAND
Ans→L₆(1
prgmT02GRAPH
Ans→L₆(2
prgmT03GRAPH
Ans→L₆(3
prgmT04SUM
Ans→L₆(4
prgmT05LIST
Ans→L₆(5
prgmT06LIST
Ans→L₆(6
prgmT07LIST
Ans→L₆(7
L₆


T01RAND (random integer test)
Code: Tout sélectionner
0→B
For(A,1,5
Asm(prgmTIMER
rand(100
Asm(prgmTIMER
Ans+B→B
End
B/5

T02GRAPH (Horizontal line test)
Code: Tout sélectionner
0→W
For(A,1,5
Asm(prgmTIMER
ClrDraw
For(B,Ymax,Ymin,­Y
Horizontal B
End
Asm(prgmTIMER
Ans+W→W
End
W/5

T03GRAPH (vertical line test)
Code: Tout sélectionner
0→W
For(A,1,5
Asm(prgmTIMER
ClrDraw
For(B,Xmax,Xmin,­X
Vertical B
End
Asm(prgmTIMER
Ans+W→W
End
W/5

T04SUM (summation test)
Code: Tout sélectionner
0→W
For(A,1,5
Asm(prgmTIMER
Σ(X²,X,0,1000
Asm(prgmTIMER
Ans+W→W
End
W/5

T05LIST (creating list test)
Code: Tout sélectionner
0→W
For(A,1,5
DelVar L₁
Asm(prgmTIMER
999→dim(L₁
Asm(prgmTIMER
Ans+W→W
End
W/5

T06LIST (sorting list of only 0s)
Code: Tout sélectionner
0→W
For(A,1,5
DelVar L₁
100→dim(L₁
Asm(prgmTIMER
SortA(L₁
Asm(prgmTIMER
Ans+W→W
End
W/5

T07LIST (sorting list of only 7s)
Code: Tout sélectionner
0→W
For(A,1,5
DelVar L₁
100→dim(L₁
Fill(7,L₁
Asm(prgmTIMER
SortA(L₁
Asm(prgmTIMER
Ans+W→W
End
W/5

RAYTRSPR ( this is a 3D modeling test using raycasting) (I didn't make this program, this was made by TheScienceElf, you can view his video here.)
Code: Tout sélectionner
Asm(prgmTIMER
ClrDraw:1→G
{12,24,23,22,21,20}→L₁

For(Y,0,162,2G)
(81-Y)/164→B
For(X,0,262,2G)
(X-131)/164→A

A²+B²+1→E:­2B-12→F
34.75→H:F²-4EH→D

­1/B→T

AT→U:T→V
remainder(abs(int(U)+int(V)),2)→C

12→L:12→M
12-(T>0)(C+1)→C

If D≥0:Then
(­F-√(D))/(2E)→T
AT→I:BT-1→J:6-T→K
J/1.5→M

If M>0:Then
int(10M)→M
L₁(1+int(M/2))→L
L₁(1+int(M/2+.5))→M
Else:12→M
End

{I,J,K}/1.5→L₃
{A,B,1}→L₂
2sum(L₃L₂)→S

SL₃-L₂→L₄
L₄(1)→P:L₄(2)→Q:L₄(3)→R

­(J+2)/Q→T

If T>0:Then
PT+I→U:RT+6-K→V
11-remainder(abs(int(U)+int(V)),2)→C
Else:12→C:End

Else:If T>0:Then
1→E:­4→F
U²+V²-12V+37.75→H
F²-4EH→D

12(D≥0)+C(D<0)→L
L→M
End:End

Pxl-On(Y,X,C)
Pxl-On(Y+1,X,L)
Pxl-On(Y,X+1,M)
Pxl-On(Y+1,X+1,C)
End:End
Asm(prgmTIMER
Ans


So there you go, personally I think OS 5.3.0 has the best performance to match its features (Asm84CEprgm token, yay!). Let me know if you have any questions or concerns!
Dernière édition par thelastmillennial le 03 Nov 2020, 08:21, édité 1 fois.
Image
Image
Avatar de l’utilisateur
thelastmillennialProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 57%
 
Messages: 42
Inscription: 10 Sep 2017, 19:38
Localisation: On Cemetech.net
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: TheLastMillennial

Re: Benchmarking every TI-84 Plus CE OS! [5.0.0-5.6.0]

Message non lude thelastmillennial » 03 Nov 2020, 08:21

OK, a heck of a lot has changed since last I did this test, so I decided to go back and do all these tests over again on my Pre-A TI-84 Plus CE. I made a few changes so the graph won't line up completely with last test's results.

Specifically I changed:
  • I added a few more OSes to test. 5.2.0, 5.2.2, 5.4.1, 5.5.5, and 5.6.0
  • T06LIST to SortA( a randomly generated list with the seed 1->rand.
  • T07LIST to SortD( a randomly generated list with the seed 1->rand.
  • I added T08ASM which tests how long it took for the timer program to launch. This measures the speed overhead it took for the program to start and return.
  • I removed the ray trace benchmark for now because it just takes too long to test.
  • I added an extra row that shows how much faster a certain OS was over the baseline (the slowest OS).
You can download the whole benchmark group here.

Enough talk, let's see the numbers!
Green is the best time and Red is the worst time
Image
Each test was performed from the RAM, on the same calculator, in the same order, and after a full mem clear. The calculator was plugged in and fully charged the entire time. Each test was completed 5 times, then the times were averaged into the table above. arTIfiCE and AsmHOOK were only installed on OS versions that required them; all jail breaking utilities were stored in the Archive.

OK, we see a lot of similarities to last years results. OS 5.0.0 continues to be the slowest at sorting but it's generally pretty darn fast at everything else.

As you get to the newer OSes which added removed features, it's clear that the calculator is getting slower and slower at doing every function. Only by about 1% from OS 5.3.0, but if we see another drop in performance like OS 5.3.0 brought for the graphing tests, there could be significant speed issues for those with a pre-M TI-84 Plus CE.

One result I was surprised to see was that OS 5.5+ was negligibly slower at launching ASM programs than OSes that supported ASM. I figured TI would have done more to block ASM programs from launching.

So those are the results for this year! I'm probably going to stop re-testing every single OS every time a new OS gets released because this took 4 hours to organize, test, collect data, and post. I'll just be testing the newest OS and tacking it onto the end of my Excel sheet. Let me know what you thought of the results! Anything you guys want me to test next time? Are there any results that surprised you?
Image
Image
Avatar de l’utilisateur
thelastmillennialProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 57%
 
Messages: 42
Inscription: 10 Sep 2017, 19:38
Localisation: On Cemetech.net
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: TheLastMillennial

Re: Benchmarking every TI-84 Plus CE OS! [5.0.0-5.6.0]

Message non lude thelastmillennial » 05 Nov 2020, 23:54

I received some criticism on my last table but thanks to the help of KermMartian and LogicalJoe, I've created a new table that's actually useful and doesn't exaggerate the color of a negligible difference! Not only that, but I'm sharing my results so you can mess with the data however you'd like! Go take a look at it here: https://1drv.ms/x/s!Al_ZukYl7XyyyzQRzhP ... 4?e=6fXiGA!

This table compares the speed of each OS to OS 5.0.0 (which I used as the baseline):
Image

By the request of Adriweb, I also made a table that compares the speed of each OS over the previous OS:
Image

My previous conclusion needs some adjusting. Although new OS versions are still generally getting slower, most of the time the difference per generation is negligible and you'll never notice it. The only exception to this is OS 5.1.0 significantly speeding up sorting lists by about 4 times! Along with OS 5.3.0 slowing down graphing by almost 14%.

So that's the new table format! Thanks again to those who helped me figure out Excel and requested data!
Image
Image
Avatar de l’utilisateur
thelastmillennialProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 57%
 
Messages: 42
Inscription: 10 Sep 2017, 19:38
Localisation: On Cemetech.net
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: TheLastMillennial

Re: Benchmarking every TI-84 Plus CE OS! [5.0.0-5.6.0]

Message non lude Adriweb » 06 Nov 2020, 19:04

Thank you, great work :)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14616
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb


Retourner vers Problèmes divers / Aide débutants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 57 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1650 utilisateurs:
>1616 invités
>29 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)