Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] help with function utilising "extended life-time" words ..

From: petr:krenzelok:trz:cz at: 1-Oct-2003 18:44

Hello, I am currently working with some databases and I do some steps in my script, which I measure currently for its duration time. I use something like: start: now/time/precise .... do something ... print now/time/precise - start start: now/time/precise I wanted to write myself short logger function, which will save me from repeating above sequences, as the script becomes a bit messy then. So I wanted to have following interface:
>> how-long? "Some task ..."
Total: 0:1:32 This: 0:0:1 Some task .... - Simply put - requested function should not require sending any time information, only a text message ... - it should start counter when first called - it should be possible to reset counter with /reset refinement ... I looked at some past threads and tried Joel's solution: foo: func [arg [string!] /reset /report /local ncalls][ ncalls: [0] if reset [return ncalls/1: 0] if report [return ncalls/1] ncalls/1: ncalls/1 + 1 rejoin ["call # " ncalls/1 " with " arg] ] ... but when I define something like "timer: reduce [now/time/precise 0]", it seems to me, that 'reduce causes reinitialisation of block values with each function call, while I would like to store "first run" time value somewhere to be able to count total task run time ... Anyone? Thank you very much, -pekr-