Imported File#ftype spec from rubyspecs.
[rbx.git] / lib / rubygems / timer.rb
blob06250f26b58a3ee0b56d744957a61e1bc8d6ce0c
2 # This file defines a $log variable for logging, and a time() method for recording timing
3 # information.
5 #--
6 # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
7 # All rights reserved.
8 # See LICENSE.txt for permissions.
9 #++
12 $log = Object.new
13 def $log.debug(str)
14   STDERR.puts str
15 end
17 def time(msg, width=25)
18   t = Time.now
19   return_value = yield
20   elapsed = Time.now.to_f - t.to_f
21   elapsed = sprintf("%3.3f", elapsed)
22   $log.debug "#{msg.ljust(width)}: #{elapsed}s"
23   return_value
24 end