/
README
74 lines (51 loc) · 2.06 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
== hitimes
* Homepage[http://copiousfreetime.rubyforge.org/hitimes]
* {Rubyforge project}[http://rubyforge.org/projects/copiousfreetime/]
* email jeremy at copiousfreetime dot org
* git clone url git://github.com/copiousfreetime/hitimes.git
== INSTALL
* gem install hitimes
== DESCRIPTION
Hitimes is a fast, high resolution timer library for recording
performance metrics. It uses the appropriate C method calls for each
system to get the highest granularity time increments possible.
It currently supports any system with the POSIX call clock_gettime(),
Mac OS X and Windows.
Using Hitimes can be faster than using a series of Time.new calls, and
it will have a much higher granularity. It is definitely faster than
using Process.times.
== SYNOPSIS
Use Hitimes::Interval to calculate only the duration of a block of code
duration = Hitimes::Interval.measure do
# some operation ...
end
puts duration
Use a Hitimes::Timer to calculate statistics about an iterative operation
timer = Hitimes::Timer.new
collection.each do |item|
timer.start
# .. do something with item
timer.stop
end
puts timer.mean
puts timer.median
puts timer.max
puts timer.min
puts timer.stddev
puts timer.rate
== CHANGES
Read the HISTORY file.
== CREDITS
* Bruce Williams for suggesting the idea
== ISC License
Copyright (c) 2008 Jeremy Hinegardner
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.