[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Using benchmark for wait times

Max Russell

1/8/2008 5:02:00 PM

Iâ??m trying to use Benchmark, to return the wait time for a search in an
application, and thought I could fairly neatly wrap up the wait time
like this:

$logger.log(Benchmark.measure($ie.wait()))

However, when I run this test from my harness, I get the following in
the console:

LocalJumpError: no block given
C:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
./Tests/test_audittrail.rb:119
./Tests/test_audittrail.rb:61:in `each'
./Tests/test_audittrail.rb:61
C:/workspace/CV_Auto/harness.rb:41:in `load'
C:/workspace/CV_Auto/harness.rb:41:in `test_audittrail'


What confuses me further is that line 61 reads:
message_type.each do |link|
$logger.log("")

which when I diff it against my last version, I can see has not changed.

What Iâ??d like to know is:

Am I off the mark wrapping the wait in a measure and then logging it?

Why does my each statement now fail?
--
Posted via http://www.ruby-....

1 Answer

Robert Klemme

1/8/2008 5:35:00 PM

0

On 08.01.2008 18:02, Max Russell wrote:
> I’m trying to use Benchmark, to return the wait time for a search in an
> application, and thought I could fairly neatly wrap up the wait time
> like this:
>
> $logger.log(Benchmark.measure($ie.wait()))
>
> However, when I run this test from my harness, I get the following in
> the console:
>
> LocalJumpError: no block given
> C:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
> ./Tests/test_audittrail.rb:119
> ./Tests/test_audittrail.rb:61:in `each'
> ./Tests/test_audittrail.rb:61
> C:/workspace/CV_Auto/harness.rb:41:in `load'
> C:/workspace/CV_Auto/harness.rb:41:in `test_audittrail'
>
>
> What confuses me further is that line 61 reads:
> message_type.each do |link|
> $logger.log("")
>
> which when I diff it against my last version, I can see has not changed.
>
> What I’d like to know is:
>
> Am I off the mark wrapping the wait in a measure and then logging it?
>
> Why does my each statement now fail?

You are not "wrapping the wait in a measure". Instead you invoke #wait
and stuff the result into #measure. Consider this:

robert@fussel ~
$ ruby -r benchmark -e 'puts Benchmark.measure( sleep(1) )'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure': no block given
(LocalJumpError)
from -e:1

robert@fussel ~
$ ruby -r benchmark -e 'puts Benchmark.measure{ sleep(1) }'
0.000000 0.000000 0.000000 ( 1.000000)

Cheers

robert