Showing posts with label timing. Show all posts
Showing posts with label timing. Show all posts

Saturday, March 16, 2024

DM42 and DM41X: Timing Programs

DM42 and DM41X: Timing Programs


How Long Does it Take?

There is a convenient way of timing programs on the Swiss Micros DM42 and DM41X. This is accomplished by the TIME function. The TIME function returns the time, initially shown in HH:MM:SS format. HH represents hours, MM represents minutes, and SS represents seconds. The time is stored internally in HH.MMSS format.

We will also use the HMS- function. The HMS- subtracts two time values in HH.MMSS format.

A format that time the performance of an algorithm:


TIME

STO ## (store in any variable desired)

...

[main code here]

TIME

RCL ## (recall time stored in the beginning)

HMS-

“TIME=” (shows the time using a message, optional)

ARCL ST X

AVIEW

RTN


The elapsed time is in HH.MMSS format.


One word of caution, I would not use this method if you plan to run the test and midnight (12:00 AM or 0:00 hours) comes in between execution.



Example Code


Here is an example program that measure long a loop takes. In the example, the loop requires to display the x and y values for the function:


y = 2/5 × ln((x + 1)^2 ÷ 5) for x = 0 to 25.



Swiss Micros DM41X Code


01 LBL ^T TIMETST

02 0.025

03 STO 00

04 TIME

05 STO 01

06 LBL 00

07 RCL 00

08 INT

09 ^T X=

10 ARCL X

11 AVIEW

12 PSE

13 XEQ 01

14 ^T Y=

15 ARCL X

16 AVIEW

17 PSE

18 ISG 00

19 GTO 00

20 TIME

21 RCL 01

22 HMS-

23 ^T TIME=

24 ARCL X

25 AVIEW

26 RTN

27 LBL 01

28 1

29 +

30 X↑2

31 5

32 /

33 LN

34 2

35 *

36 5

37 /

38 RTN


Swiss Micros DM42 Code


00 {75-byte Prgm}

01 LBL “TIMETST”

02 0.025

03 STO 00

04 TIME

05 STO 01

06 LBL 00

07 RCL 00

08 IP

09 “X=”

10 ARCL ST X

11 AVIEW

12 PSE

13 XEQ 01

14 “Y=”

15 ARCL ST X

16 AVIEW

17 PSE

18 ISG 00

19 GTO 00

20 TIME

21 RCL 01

22 HMS-

23 “TIME=”

24 ARCL ST X

25 AVIEW

26 RTN

27 LBL 01

28 1

29 +

30 X↑2

31 5

32 ÷

33 LN

34 2

35 ×

36 5

37 ÷

38 RTN



The results that I have:


DM41X (SN 00843): 0.0049 (49 seconds)

DM42 (SN 03911): 0.0053 (53 seconds)


For reference, here are the values (rounded to 4 digits):


X

Y

0

-0.6438

1

-0.0893

2

0.2351

3

0.4653

4

0.6438

5

0.7896

6

0.9130

7

1.0198

8

1.1140

9

1.1983

10

1.2745

11

1.3442

12

1.4082

13

1.4675

14

1.5227

15

1.5743

16

1.6228

17

1.6685

18

1.7118

19

1.7528

20

1.7918

21

1.8291

22

1.8646

23

1.8987

24

1.9313

25

1.9627



I hope you find this helpful. Take care and until next time,


Eddie

All original content copyright, © 2011-2024. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.



Monday, July 29, 2013

TI-84+ Color Silver Edition: MathPrint versus ClassicPrint

I have stated that the best way to use programs on the TI-84+ C Silver Edition (and previous editions) that the most efficient way to run programs is in Classic Mode (one-line mode).

This especially comes into play when repetitive loops, like For loops, are involved.

A sample program is shown below. I ran each test twice.

PROGRAM:TEST900
ClrHome
For(I,1,500)
Output(1,1,I)
End
Output(2,1,"DONE")


Times:
TEST900 run in CLASSIC Mode: 7.5 sec, 7.81 sec
TEST900 run in MATHPRINT Mode: 8.75 sec, 9.25 sec

But what if we want to always operate in MATHPRINT mode? How about if we switch to CLASSIC at the beginning of the program and switch back to MATHPRINT in the end? How is the run-time affected?

PROGRAM:TEST900
CLASSIC
ClrHome
For(I,1,500)
Output(1,1,I)
End
Output(2,1,"DONE")
MATHPRINT


The times I got were 9.62 seconds and then 10 seconds. So, as far as this test program is concerned, switching between CLASSIC and MATHPRINT modes does not help.

Disclaimer: This is only one program - and I did this test out of pure curiosity.

Enjoy!

Eddie

Sharp EL-5200/EL-9000 AER II Program Collection – September 2026

Sharp EL-5200/EL-9000 AER II Program Collection – September 2026 For my review on the Sharp EL-5200 (also known as the Sharp EL-9000)...