Hi Jerry

Yup, that works. But you could also nest timings with a simple change to
tic3 and toc3.

tic: func [] [insert [] now/time exit]
toc: func [] [
     print ["elapsed time:" now/time - first second second :tic]
     remove second second :tic
     exit
]

>>  tic tic wait 3 toc tic wait 5 toc tic wait 2 toc toc
elapsed time: 0:00:03
elapsed time: 0:00:05
elapsed time: 0:00:02
elapsed time: 0:00:10

BTW you can see what's stored in tic with 'source:

>> tic wait 2 tic
>> source tic
tic: func [][insert [18:01:45 18:01:43] now/time exit]

Best Wishes
Larry

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, December 28, 1999 4:45 PM
Subject: [REBOL] Handy Timer Functions Re:


> Larry,
> I like your tic toc pair. However I sometimes wish to nest their use as in
> the example:
> >> tic tic wait 3 toc tic wait 5 toc tic wait 2 toc toc
> 0:00:03
> 0:00:05
> 0:00:02
> 0:00:10
> >>
> The program I used is
> stack: copy []
> push: func [x][insert stack x exit]
> pop: func [/local a]
> [
>    if (length? stack) = 0 [Print "can't pop empty stack" exit]
>    a: first stack  remove stack a
> ]
> tic: func [][ push now/time exit]
> toc: func [][print now/time - pop exit]
>
> What do you think?
>
> Jerry
>

Reply via email to