π
<-
Chat plein-écran
[^]

Benchmarking every TI-84 Plus CE OS! [5.0.0-5.4.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.4.0]

Unread postby thelastmillennial » 26 Aug 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: Select all
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: Select all
0→B
For(A,1,5
Asm(prgmTIMER
rand(100
Asm(prgmTIMER
Ans+B→B
End
B/5

T02GRAPH (Horizontal line test)
Code: Select all
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: Select all
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: Select all
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: Select all
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: Select all
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: Select all
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: Select all
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!
ImageImage
ImageImage Thank you for your time, go make a paradox, have a good day.
User avatar
thelastmillennialProg.
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 85.9%
 
Posts: 25
Joined: 10 Sep 2017, 19:38
Location: On Cemetech.net
Gender: Male
Calculator(s):
YouTube: TheLastMillennial

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: No registered users and 7 guests

-
Search
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
1
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
450 utilisateurs:
>436 invités
>9 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)