absolute_time 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/{README → README.md} +31 -18
- data/absolute_time.gemspec +8 -4
- data/{absolute_time.c → ext/absolute_time.c} +3 -3
- data/{extconf.rb → ext/extconf.rb} +0 -0
- data/gem-public_cert.pem +20 -0
- metadata +43 -12
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
Binary file
|
data/{README → README.md}
RENAMED
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
AbsoluteTime
|
1
|
+
# AbsoluteTime
|
4
2
|
|
5
3
|
This gem provides a monotonically increasing timer to permit safe measurement of time intervals.
|
6
4
|
|
@@ -20,25 +18,40 @@ with a value recorded by a different process on the same machine.
|
|
20
18
|
|
21
19
|
The resolution of the timer is system-dependent.
|
22
20
|
|
21
|
+
## Usage:
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
>> AbsoluteTime.monotonic?
|
28
|
-
=> true
|
29
|
-
|
30
|
-
# Time an action by recording the start and end times.
|
31
|
-
>> start_time = AbsoluteTime.now
|
32
|
-
>> value = function_that_takes_a_long_time()
|
33
|
-
>> end_time = AbsoluteTime.now
|
34
|
-
>> puts "Function took #{end_time - start_time} seconds to complete."
|
23
|
+
# Is a monotonically increasing timer available on this system?
|
24
|
+
>> AbsoluteTime.monotonic?
|
25
|
+
=> true
|
35
26
|
|
36
|
-
|
27
|
+
# Time an action by recording the start and end times.
|
28
|
+
>> start_time = AbsoluteTime.now
|
29
|
+
>> value = function_that_takes_a_long_time()
|
30
|
+
>> end_time = AbsoluteTime.now
|
31
|
+
>> puts "Function took #{end_time - start_time} seconds to complete."
|
32
|
+
|
33
|
+
Function took 5.0002783499658108 seconds to complete.
|
37
34
|
|
38
|
-
# Time an action using AbsoluteTime.
|
39
|
-
>> AbsoluteTime.
|
40
|
-
=> 5.0002783499658108
|
35
|
+
# Time an action using AbsoluteTime.realtime, which acts like Benchmark.realtime.
|
36
|
+
>> AbsoluteTime.realtime { function_that_takes_a_long_time() }
|
37
|
+
=> 5.0002783499658108
|
41
38
|
|
42
39
|
Supported platforms: Darwin (Mac OS X), FreeBSD, Linux
|
43
40
|
|
44
41
|
If you can add support for another platform, please do so and send me a pull request on GitHub. A Windows implementation using GetTickCount64() / GetTickCount() / QueryPerformanceCounter() would be much appreciated!
|
42
|
+
|
43
|
+
## Signed Gem
|
44
|
+
|
45
|
+
For your protection, this gem is cryptographically signed by the author. The signing certificate is available at:
|
46
|
+
|
47
|
+
https://raw.github.com/bwbuchanan/absolute_time/master/gem-public_cert.pem
|
48
|
+
|
49
|
+
You can add this certificate to your local list of trusted gem signers by running these commands:
|
50
|
+
|
51
|
+
curl -O https://raw.github.com/bwbuchanan/absolute_time/master/gem-public_cert.pem
|
52
|
+
gem cert --add gem-public_cert.pem
|
53
|
+
|
54
|
+
And once you have done that, you can take advantage of RubyGems' signed gem security by installing
|
55
|
+
the gem with this command:
|
56
|
+
|
57
|
+
gem install absolute_time -P HighSecurity
|
data/absolute_time.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.name = "absolute_time"
|
4
|
-
s.version = '
|
4
|
+
s.version = '1.0.0'
|
5
5
|
s.authors = ["Brian Buchanan"]
|
6
|
-
s.email = ["
|
6
|
+
s.email = ["bwb@holo.org"]
|
7
7
|
s.homepage = ""
|
8
8
|
s.summary = %q{Reliable monotonically increasing timer for measuring time intervals}
|
9
9
|
s.description = %q{This gem provides a monotonically increasing timer to permit safe measurement of time intervals.
|
@@ -19,11 +19,15 @@ this module.
|
|
19
19
|
}
|
20
20
|
|
21
21
|
s.rubyforge_project = "absolute_time"
|
22
|
+
s.licenses = ['BSD']
|
23
|
+
s.homepage = 'https://github.com/bwbuchanan/absolute_time'
|
22
24
|
|
23
25
|
s.files = `git ls-files`.split("\n")
|
24
26
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
25
27
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
26
|
-
s.extensions = 'extconf.rb'
|
28
|
+
s.extensions = 'ext/extconf.rb'
|
27
29
|
s.has_rdoc = true
|
28
|
-
s.extra_rdoc_files = `git ls-files --
|
30
|
+
s.extra_rdoc_files = `git ls-files -- ext/*.c`.split("\n")
|
31
|
+
s.cert_chain = ['gem-public_cert.pem']
|
32
|
+
s.signing_key = "#{ENV['HOME']}/.keys/gem-private_key.pem"
|
29
33
|
end
|
@@ -42,7 +42,7 @@ static double get_absolute_time(void);
|
|
42
42
|
|
43
43
|
/*
|
44
44
|
* call-seq:
|
45
|
-
* AbsoluteTime.now() ->
|
45
|
+
* AbsoluteTime.now() -> float
|
46
46
|
*
|
47
47
|
* Returns the current value of the system timer as a floating-point number of seconds.
|
48
48
|
* Although the units of the return value are seconds, they cannot be safely
|
@@ -61,7 +61,7 @@ module_now(VALUE self_)
|
|
61
61
|
|
62
62
|
/*
|
63
63
|
* call-seq:
|
64
|
-
* AbsoluteTime.realtime() { || ... } ->
|
64
|
+
* AbsoluteTime.realtime() { || ... } -> float
|
65
65
|
*
|
66
66
|
* Like Benchmark.realtime(), returns the elapsed time to execute the specified block,
|
67
67
|
* as a floating-point number of seconds.
|
@@ -80,7 +80,7 @@ module_realtime(VALUE self_)
|
|
80
80
|
|
81
81
|
/*
|
82
82
|
* call-seq:
|
83
|
-
* AbsoluteTime.monotonic?() ->
|
83
|
+
* AbsoluteTime.monotonic?() -> Boolean
|
84
84
|
*
|
85
85
|
* Returns true if this module is able to use a guaranteed monotonically-increasing clock,
|
86
86
|
* false otherwise.
|
File without changes
|
data/gem-public_cert.pem
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDWDCCAkCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA5MQwwCgYDVQQDDANid2Ix
|
3
|
+
FDASBgoJkiaJk/IsZAEZFgRob2xvMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4XDTEz
|
4
|
+
MDIwNjE5MzU1OVoXDTIzMDIwNDE5MzU1OVowOTEMMAoGA1UEAwwDYndiMRQwEgYK
|
5
|
+
CZImiZPyLGQBGRYEaG9sbzETMBEGCgmSJomT8ixkARkWA29yZzCCASIwDQYJKoZI
|
6
|
+
hvcNAQEBBQADggEPADCCAQoCggEBAKWKWUi+FyWhaDG5NUHIb0lxFkT+kfAi0NV1
|
7
|
+
eRx2I/JkNg4jzRlJF3rH8+ZtcgM8FGCY7bj+pbpXoP/2dqtXmJ7u2bjBO097xXrn
|
8
|
+
G1pktrqZdmNCvbkQZpaXe9X61tSQJsjglrIUJvXYcIEUZ+7nD1XUrw5sPeXZ7AFI
|
9
|
+
Ep3UGHAwI5Uh3B57bzaQENJea52uPvcH246bEw3QCMXP3TK6FRWR7PU5J3eugUU5
|
10
|
+
y7N00INs2NjnbfIrqaEC87gIpaOjMKbfTTVdSgVh2MC+sscimISsiyrayW7/IB+q
|
11
|
+
0XP/v4s9AFEM7Yn2j2GsWHNS+vMt9xXZReYseeqoACvVZbC75EcCAwEAAaNrMGkw
|
12
|
+
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFMkCi8HQi9IoAnT/qbxG
|
13
|
+
hsWdnFK7MBcGA1UdEQQQMA6BDGJ3YkBob2xvLm9yZzAXBgNVHRIEEDAOgQxid2JA
|
14
|
+
aG9sby5vcmcwDQYJKoZIhvcNAQEFBQADggEBAGeGVOHQHUCbEt3AuhW9NcsWJHqS
|
15
|
+
vTIp7j53LKLos4NcjpTP+Ou4kav+Wd3Kie+R/t3CpWR2ikdkMn/gQGQscCuYdYGc
|
16
|
+
3o5CGXq40uQP4DWmkWiHDLe3w4j/Lge+78JVdHfBTjMEJpL8SjOIu3Ro0Vbl+6BV
|
17
|
+
wPRZeEECODbxsUl/0xgloy/wE1Lov9O585H4YPFyKVl6o/OAQEwAuECqClIwyBOf
|
18
|
+
RSzK6FH5nog+gjmernhhTI39Fevn/MXXt/mCzgo//Gd3EyYhn7jVlhAC0GWyIpJ9
|
19
|
+
OX/k+uZl36b+q6VSxqMuBYz4vG6G5M0ajty76k23UixUOv8w3aX54VjEAyo=
|
20
|
+
-----END CERTIFICATE-----
|
metadata
CHANGED
@@ -1,15 +1,44 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: absolute_time
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Brian Buchanan
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
11
|
+
cert_chain:
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXRENDQWtDZ0F3SUJB
|
14
|
+
Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREE1TVF3d0NnWURWUVFEREFOaWQy
|
15
|
+
SXgKRkRBU0Jnb0praWFKay9Jc1pBRVpGZ1JvYjJ4dk1STXdFUVlLQ1pJbWla
|
16
|
+
UHlMR1FCR1JZRGIzSm5NQjRYRFRFegpNREl3TmpFNU16VTFPVm9YRFRJek1E
|
17
|
+
SXdOREU1TXpVMU9Wb3dPVEVNTUFvR0ExVUVBd3dEWW5kaU1SUXdFZ1lLCkNa
|
18
|
+
SW1pWlB5TEdRQkdSWUVhRzlzYnpFVE1CRUdDZ21TSm9tVDhpeGtBUmtXQTI5
|
19
|
+
eVp6Q0NBU0l3RFFZSktvWkkKaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dF
|
20
|
+
QkFLV0tXVWkrRnlXaGFERzVOVUhJYjBseEZrVCtrZkFpME5WMQplUngySS9K
|
21
|
+
a05nNGp6UmxKRjNySDgrWnRjZ004RkdDWTdiaitwYnBYb1AvMmRxdFhtSjd1
|
22
|
+
MmJqQk8wOTd4WHJuCkcxcGt0cnFaZG1OQ3Zia1FacGFYZTlYNjF0U1FKc2pn
|
23
|
+
bHJJVUp2WFljSUVVWis3bkQxWFVydzVzUGVYWjdBRkkKRXAzVUdIQXdJNVVo
|
24
|
+
M0I1N2J6YVFFTkplYTUydVB2Y0gyNDZiRXczUUNNWFAzVEs2RlJXUjdQVTVK
|
25
|
+
M2V1Z1VVNQp5N04wMElOczJOam5iZklycWFFQzg3Z0lwYU9qTUtiZlRUVmRT
|
26
|
+
Z1ZoMk1DK3NzY2ltSVNzaXlyYXlXNy9JQitxCjBYUC92NHM5QUZFTTdZbjJq
|
27
|
+
MkdzV0hOUyt2TXQ5eFhaUmVZc2VlcW9BQ3ZWWmJDNzVFY0NBd0VBQWFOck1H
|
28
|
+
a3cKQ1FZRFZSMFRCQUl3QURBTEJnTlZIUThFQkFNQ0JMQXdIUVlEVlIwT0JC
|
29
|
+
WUVGTWtDaThIUWk5SW9BblQvcWJ4Rwpoc1dkbkZLN01CY0dBMVVkRVFRUU1B
|
30
|
+
NkJER0ozWWtCb2IyeHZMbTl5WnpBWEJnTlZIUklFRURBT2dReGlkMkpBCmFH
|
31
|
+
OXNieTV2Y21jd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFHZUdWT0hRSFVD
|
32
|
+
YkV0M0F1aFc5TmNzV0pIcVMKdlRJcDdqNTNMS0xvczROY2pwVFArT3U0a2F2
|
33
|
+
K1dkM0tpZStSL3QzQ3BXUjJpa2RrTW4vZ1FHUXNjQ3VZZFlHYwozbzVDR1hx
|
34
|
+
NDB1UVA0RFdta1dpSERMZTN3NGovTGdlKzc4SlZkSGZCVGpNRUpwTDhTak9J
|
35
|
+
dTNSbzBWYmwrNkJWCndQUlplRUVDT0RieHNVbC8weGdsb3kvd0UxTG92OU81
|
36
|
+
ODVINFlQRnlLVmw2by9PQVFFd0F1RUNxQ2xJd3lCT2YKUlN6SzZGSDVub2cr
|
37
|
+
Z2ptZXJuaGhUSTM5RmV2bi9NWFh0L21DemdvLy9HZDNFeVlobjdqVmxoQUMw
|
38
|
+
R1d5SXBKOQpPWC9rK3VabDM2YitxNlZTeHFNdUJZejR2RzZHNU0wYWp0eTc2
|
39
|
+
azIzVWl4VU92OHczYVg1NFZqRUF5bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUt
|
40
|
+
LS0tLQo=
|
41
|
+
date: 2013-02-06 00:00:00.000000000 Z
|
13
42
|
dependencies: []
|
14
43
|
description: ! 'This gem provides a monotonically increasing timer to permit safe
|
15
44
|
measurement of time intervals.
|
@@ -38,22 +67,24 @@ description: ! 'This gem provides a monotonically increasing timer to permit saf
|
|
38
67
|
|
39
68
|
'
|
40
69
|
email:
|
41
|
-
-
|
70
|
+
- bwb@holo.org
|
42
71
|
executables: []
|
43
72
|
extensions:
|
44
|
-
- extconf.rb
|
73
|
+
- ext/extconf.rb
|
45
74
|
extra_rdoc_files:
|
46
|
-
- absolute_time.c
|
75
|
+
- ext/absolute_time.c
|
47
76
|
files:
|
48
77
|
- .gitignore
|
49
78
|
- Gemfile
|
50
|
-
- README
|
79
|
+
- README.md
|
51
80
|
- Rakefile
|
52
|
-
- absolute_time.c
|
53
81
|
- absolute_time.gemspec
|
54
|
-
-
|
55
|
-
|
56
|
-
|
82
|
+
- ext/absolute_time.c
|
83
|
+
- ext/extconf.rb
|
84
|
+
- gem-public_cert.pem
|
85
|
+
homepage: https://github.com/bwbuchanan/absolute_time
|
86
|
+
licenses:
|
87
|
+
- BSD
|
57
88
|
post_install_message:
|
58
89
|
rdoc_options: []
|
59
90
|
require_paths:
|
@@ -72,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
103
|
version: '0'
|
73
104
|
requirements: []
|
74
105
|
rubyforge_project: absolute_time
|
75
|
-
rubygems_version: 1.8.
|
106
|
+
rubygems_version: 1.8.23
|
76
107
|
signing_key:
|
77
108
|
specification_version: 3
|
78
109
|
summary: Reliable monotonically increasing timer for measuring time intervals
|
metadata.gz.sig
ADDED
Binary file
|