hitimes 1.2.2-java → 1.2.3-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d94ad885b546cfabd2429bb32edb587cb5bdffce
4
- data.tar.gz: 83cc096240320c96147dc18f9305345a14e64e87
3
+ metadata.gz: e88c13d5ede9b4ff83db2278d377572cc527be34
4
+ data.tar.gz: 700bc9d2e3a08c80eeeec494a6143e7a5b9c40cc
5
5
  SHA512:
6
- metadata.gz: bd6ffe724b229edd4ccd3d2a348a9696e1d50d4dc732c49e5d0414e61b17598bb361ccf65b5186f45add3832bc4524e136ab05ca8396090fc4671d0728c469d5
7
- data.tar.gz: fb95561d1d465d57faa6325df9fa0eafba5779a4eae813c8ada010673071edf60a08c8b27d9a01d29da03138ac56414cb08868f770ad5b46bc4dad5b80c8f38d
6
+ metadata.gz: 0aab8572f5cb56e331b15881d12fc29b39102c145801f5cd435995a62a645e3d89f82ff0d7be5873f4dac6021ee5dc6dccc03c5149b7a43dc6605091a4dc7424
7
+ data.tar.gz: 27f55ad2f013631ee64dd73d2f33e7ecde22b3e3abdf8e116f126fb07ee735678bd8ab3f0f27d8f3feab374e66c60b9c774a0329bb0d3036235c26490fa91fd5
data/HISTORY.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Hitimes Changelog
2
2
 
3
+ ## Version 1.2.3 2015-09-13
4
+
5
+ * Release new fatbinary version for windows
6
+ * Update README to indicate duration units
7
+ * Provide a more friendly error message if the gem is not installed correctly
8
+
3
9
  ## Version 1.2.2 2014-07-09
4
10
 
5
11
  * fix compilation issue with clock_gettime in libc (reported by eradman and virtualfunction)
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  ISC LICENSE - http://opensource.org/licenses/isc-license.txt
2
2
 
3
- Copyright (c) 2008-2012 Jeremy Hinegardner
3
+ Copyright (c) 2008-2015 Jeremy Hinegardner
4
4
 
5
5
  Permission to use, copy, modify, and/or distribute this software for any
6
6
  purpose with or without fee is hereby granted, provided that the above
data/Manifest.txt CHANGED
@@ -1,4 +1,3 @@
1
- .travis.yml
2
1
  CONTRIBUTING.md
3
2
  HISTORY.md
4
3
  LICENSE
data/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  Hitimes is a fast, high resolution timer library for recording
15
15
  performance metrics. It uses the appropriate low method calls for each
16
- system to get the highest granularity time increments possible.
16
+ system to get the highest granularity time increments possible.
17
17
 
18
18
  It currently supports any of the following systems:
19
19
 
@@ -30,14 +30,17 @@ using `Process.times`.
30
30
 
31
31
  ### Interval
32
32
 
33
- Use Hitimes::Interval to calculate only the duration of a block of code
33
+ Use Hitimes::Interval to calculate only the duration of a block of code. Returns
34
+ the time as seconds.
34
35
 
35
36
  ``` ruby
36
37
  duration = Hitimes::Interval.measure do
37
- # some operation ...
38
+ 1_000_000.times do |x|
39
+ 2 + 2
40
+ end
38
41
  end
39
42
 
40
- puts duration
43
+ puts duration # => 0.047414297 (seconds)
41
44
  ```
42
45
 
43
46
  ### TimedMetric
@@ -126,21 +129,14 @@ Read the HISTORY.md file.
126
129
 
127
130
  ## BUILDING FOR WINDOWS
128
131
 
129
- [rake-compiler](https://github.com/luislavena/rake-compiler) is use for building
130
- the windows version. For me, on OSX to cross compile the process is:
132
+ This is done using https://github.com/rake-compiler/rake-compiler-dock
131
133
 
132
- ```
133
- % gem install rake-compiler # in each rvm instance, 1.8.7, 1.9.3
134
- % rvm use 2.0.0@hitimes
135
- % rake-compiler cross-ruby VERSION=2.0.0-p0 # or latest
136
- % rvm use 1.9.3@hitimes
137
- % rake-compiler cross-ruby VERSION=1.9.3-p374 # or latest
138
- % rvm use 1.8.7@hitimes
139
- % rake-compiler cross-ruby VERSION=1.8.7-p371
140
-
141
- # This only works via 1.8.7 at the current moment
142
- % rake cross native gem RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0
143
- ```
134
+ 1. have VirtualBox installed
135
+ 2. Install boot2docker `brew install boot2docker`
136
+ 3. `gem install rake-compiler-dock`
137
+ 4. `rake-compiler-dock`
138
+ 5. `bundle`
139
+ 6 `rake cross native gem`
144
140
 
145
141
  ## CREDITS
146
142
 
@@ -148,7 +144,7 @@ the windows version. For me, on OSX to cross compile the process is:
148
144
 
149
145
  ## ISC License
150
146
 
151
- Copyright (c) 2008-2012 Jeremy Hinegardner
147
+ Copyright (c) 2008-2015 Jeremy Hinegardner
152
148
 
153
149
  Permission to use, copy, modify, and/or distribute this software for any
154
150
  purpose with or without fee is hereby granted, provided that the above
data/Rakefile CHANGED
@@ -7,11 +7,12 @@ This.email = "jeremy@copiousfreetime.org"
7
7
  This.homepage = "http://github.com/copiousfreetime/#{ This.name }"
8
8
 
9
9
  This.ruby_gemspec do |spec|
10
- spec.add_development_dependency( 'rake' , '~> 10.0')
11
- spec.add_development_dependency( 'minitest' , '~> 5.3' )
12
- spec.add_development_dependency( 'rdoc' , '~> 4.1' )
13
- spec.add_development_dependency( 'json' , '~> 1.7.7' )
10
+ spec.add_development_dependency( 'rake' , '~> 10.4')
11
+ spec.add_development_dependency( 'minitest' , '~> 5.5' )
12
+ spec.add_development_dependency( 'rdoc' , '~> 4.2' )
13
+ spec.add_development_dependency( 'json' , '~> 1.8' )
14
14
  spec.add_development_dependency( 'rake-compiler', '~> 0.9' )
15
+ spec.add_development_dependency( 'simplecov' , '~> 0.9' )
15
16
 
16
17
  spec.extensions.concat This.extension_conf_files
17
18
  spec.license = "ISC"
@@ -4,7 +4,7 @@ require 'mkmf'
4
4
  if RbConfig::CONFIG['host_os'] =~ /darwin/ then
5
5
  $CFLAGS += " -DUSE_INSTANT_OSX=1 -Wall"
6
6
  $LDFLAGS += " -framework CoreServices"
7
- elsif RbConfig::CONFIG['host_os'] =~ /win32/ or RbConfig::CONFIG['host_os'] =~ /mingw/ then
7
+ elsif RbConfig::CONFIG['host_os'] =~ /win(32|64)/ or RbConfig::CONFIG['host_os'] =~ /mingw/ then
8
8
  $CFLAGS += " -DUSE_INSTANT_WINDOWS=1"
9
9
  else
10
10
  if have_library("rt", "clock_gettime") then
data/lib/hitimes.rb CHANGED
@@ -29,13 +29,21 @@ require 'hitimes/version'
29
29
  # Load the binary extension, try loading one for the specific version of ruby
30
30
  # and if that fails, then fall back to one in the top of the library.
31
31
  # this is the method recommended by rake-compiler
32
- begin
33
- # this will be for windows
34
- require "hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}/hitimes"
35
- rescue LoadError
36
- # everyone else.
37
- require 'hitimes/hitimes'
32
+
33
+ attempts = [
34
+ "hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}/hitimes",
35
+ "hitimes/hitimes"
36
+ ]
37
+ loaded = false
38
+
39
+ attempts.each do |path|
40
+ begin
41
+ require path
42
+ loaded = true
43
+ rescue LoadError
44
+ end
38
45
  end
46
+ raise LoadError, "Unable to find binary extension, was hitimes installed correctly?" unless loaded
39
47
 
40
48
  require 'hitimes/stats'
41
49
  require 'hitimes/mutexed_stats'
Binary file
@@ -4,5 +4,5 @@
4
4
  #++
5
5
 
6
6
  module Hitimes
7
- VERSION = "1.2.2"
7
+ VERSION = "1.2.3"
8
8
  end
data/tasks/default.rake CHANGED
@@ -10,21 +10,12 @@ namespace :develop do
10
10
 
11
11
  # Install all the development and runtime dependencies of this gem using the
12
12
  # gemspec.
13
- task :default do
13
+ task :default => 'Gemfile' do
14
14
  require 'rubygems/dependency_installer'
15
15
  installer = ::Gem::DependencyInstaller.new
16
-
17
- This.set_coverage_gem
18
-
19
- puts "Installing gem depedencies needed for development"
20
- This.platform_gemspec.dependencies.each do |dep|
21
- if dep.matching_specs.empty? then
22
- puts "Installing : #{dep}"
23
- installer.install dep
24
- else
25
- puts "Skipping : #{dep} -> already installed #{dep.matching_specs.first.full_name}"
26
- end
27
- end
16
+ puts "Installing bundler..."
17
+ installer.install 'bundler'
18
+ sh 'bundle install'
28
19
  puts "\n\nNow run 'rake test'"
29
20
  end
30
21
 
@@ -37,14 +28,6 @@ namespace :develop do
37
28
  f.puts 'gemspec'
38
29
  end
39
30
  end
40
-
41
- desc "Create a bundler Gemfile"
42
- task :using_bundler => 'Gemfile' do
43
- puts "Now you can 'bundle'"
44
- end
45
-
46
- # Gemfiles are build artifacts
47
- CLOBBER << FileList['Gemfile*']
48
31
  end
49
32
  desc "Boostrap development"
50
33
  task :develop => "develop:default"
@@ -90,31 +73,16 @@ end
90
73
  # Coverage - optional code coverage, rcov for 1.8 and simplecov for 1.9, so
91
74
  # for the moment only rcov is listed.
92
75
  #------------------------------------------------------------------------------
93
- if RUBY_VERSION < "1.9.0"
94
- begin
95
- require 'rcov/rcovtask'
96
- Rcov::RcovTask.new( 'coverage' ) do |t|
97
- t.libs << 'spec'
98
- t.pattern = 'spec/**/*_spec.rb'
99
- t.verbose = true
100
- t.rcov_opts << "-x ^/" # remove all the global files
101
- t.rcov_opts << "--sort coverage" # so we see the worst files at the top
102
- end
103
- rescue LoadError
104
- This.task_warning( 'rcov' )
105
- end
106
- else
107
- begin
108
- require 'simplecov'
109
- desc 'Run tests with code coverage'
110
- task :coverage do
111
- ENV['COVERAGE'] = 'true'
112
- Rake::Task[:test].invoke
113
- end
114
- CLOBBER << FileList["coverage"] if File.directory?( "coverage" )
115
- rescue LoadError
116
- This.task_warning( 'simplecov' )
76
+ begin
77
+ require 'simplecov'
78
+ desc 'Run tests with code coverage'
79
+ task :coverage do
80
+ ENV['COVERAGE'] = 'true'
81
+ Rake::Task[:test].execute
117
82
  end
83
+ CLOBBER << 'coverage' if File.directory?('coverage')
84
+ rescue LoadError
85
+ This.task_warning( 'simplecov' )
118
86
  end
119
87
 
120
88
  #------------------------------------------------------------------------------
@@ -179,9 +147,10 @@ namespace :fixme do
179
147
  end
180
148
 
181
149
  def outdated_fixme_files
182
- local_fixme_files.reject do |local|
150
+ local_fixme_files.select do |local|
183
151
  upstream = fixme_project_path( local )
184
- Digest::SHA256.file( local ) == Digest::SHA256.file( upstream )
152
+ upstream.exist? &&
153
+ ( Digest::SHA256.file( local ) != Digest::SHA256.file( upstream ) )
185
154
  end
186
155
  end
187
156
 
@@ -231,9 +200,6 @@ task :gemspec do
231
200
  end
232
201
  end
233
202
 
234
- # the gemspec is also a dev artifact and should not be kept around.
235
- CLOBBER << This.gemspec_file.to_s
236
-
237
203
  # .rbc files from ruby 2.0
238
204
  CLOBBER << FileList["**/*.rbc"]
239
205
 
data/tasks/extension.rake CHANGED
@@ -24,7 +24,7 @@ begin
24
24
  ext.gem_spec = This.ruby_gemspec
25
25
 
26
26
  ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
27
- ext.cross_platform = 'i386-mswin32' # forces the Windows platform instead of the default one
27
+ ext.cross_platform = 'i386-mingw32' # forces the Windows platform instead of the default one
28
28
  # configure options only for cross compile
29
29
  end
30
30
  end
@@ -35,4 +35,4 @@ rescue LoadError
35
35
  end
36
36
 
37
37
  CLOBBER << FileList["lib/**/*.{jar,so,bundle}"]
38
- CLOBBER << FileList["lib/#{This.name}/{1.8,1.9,2.0}/"]
38
+ CLOBBER << FileList["lib/#{This.name}/{1.8,1.9,2.0,2.1,2.2}/"]
data/tasks/this.rb CHANGED
@@ -13,7 +13,7 @@ class ThisProject
13
13
  attr_accessor :email
14
14
 
15
15
  # The homepage of this project
16
- attr_accessor :homepage
16
+ attr_accessor :homepage
17
17
 
18
18
  # The regex of files to exclude from the manifest
19
19
  attr_accessor :exclude_from_manifest
@@ -25,7 +25,11 @@ class ThisProject
25
25
  #
26
26
  # Yields self
27
27
  def initialize(&block)
28
- @exclude_from_manifest = %r/\.(git|DS_Store)|^(doc|coverage|pkg|tmp|Gemfile(\.lock)?)|^[^\/]+\.gemspec|\.(swp|jar|bundle|so|rvmrc)$|~$/
28
+ @exclude_from_manifest = Regexp.union(/\.(git|DS_Store)/,
29
+ /^(doc|coverage|pkg|tmp|Gemfile(\.lock)?)/,
30
+ /^[^\/]+\.gemspec/,
31
+ /\.(swp|jar|bundle|so|rvmrc|travis.yml)$/,
32
+ /~$/)
29
33
  @gemspecs = Hash.new
30
34
  yield self if block_given?
31
35
  end
@@ -119,7 +123,7 @@ class ThisProject
119
123
 
120
124
  # Internal: Returns the gemspace associated with the current ruby platform
121
125
  def platform_gemspec
122
- gemspecs[platform]
126
+ gemspecs.fetch(platform) { This.ruby_gemspec }
123
127
  end
124
128
 
125
129
  def core_gemspec
@@ -141,6 +145,8 @@ class ThisProject
141
145
  spec.extra_rdoc_files += spec.files.grep(/(txt|rdoc|md)$/)
142
146
  spec.rdoc_options = [ "--main" , 'README.md',
143
147
  "--markup", "tomdoc" ]
148
+
149
+ spec.required_ruby_version = '>= 1.9.3'
144
150
  end
145
151
  end
146
152
 
@@ -167,20 +173,6 @@ class ThisProject
167
173
  return spec
168
174
  end
169
175
 
170
- # Internal: Set the recovery gem development dependency
171
- #
172
- # These are dynamically set since they cannot be hard coded as there is
173
- # no way to ship them correctly in the gemspec
174
- #
175
- # Returns nothing.
176
- def set_coverage_gem
177
- if RUBY_VERSION < "1.9.0"
178
- platform_gemspec.add_development_dependency( 'rcov', '~> 1.0.0' )
179
- else
180
- platform_gemspec.add_development_dependency( 'simplecov', '~> 0.8.2' )
181
- end
182
- end
183
-
184
176
  # Internal: Return the platform of ThisProject at the current moment in time.
185
177
  def platform
186
178
  (RUBY_PLATFORM == "java") ? 'java' : Gem::Platform::RUBY
@@ -190,8 +182,8 @@ class ThisProject
190
182
  def description_section
191
183
  section_of( 'README.md', 'DESCRIPTION')
192
184
  end
193
-
194
- # Internal: Return the summary text from the README
185
+
186
+ # Internal: Return the summary text from the README
195
187
  def summary
196
188
  description_section.first
197
189
  end
metadata CHANGED
@@ -1,88 +1,102 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hitimes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: java
6
6
  authors:
7
7
  - Jeremy Hinegardner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-09 00:00:00.000000000 Z
11
+ date: 2015-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '10.4'
14
19
  name: rake
20
+ prerelease: false
21
+ type: :development
15
22
  version_requirements: !ruby/object:Gem::Requirement
16
23
  requirements:
17
- - - ~>
24
+ - - "~>"
18
25
  - !ruby/object:Gem::Version
19
- version: '10.0'
26
+ version: '10.4'
27
+ - !ruby/object:Gem::Dependency
20
28
  requirement: !ruby/object:Gem::Requirement
21
29
  requirements:
22
- - - ~>
30
+ - - "~>"
23
31
  - !ruby/object:Gem::Version
24
- version: '10.0'
32
+ version: '5.5'
33
+ name: minitest
25
34
  prerelease: false
26
35
  type: :development
27
- - !ruby/object:Gem::Dependency
28
- name: minitest
29
36
  version_requirements: !ruby/object:Gem::Requirement
30
37
  requirements:
31
- - - ~>
38
+ - - "~>"
32
39
  - !ruby/object:Gem::Version
33
- version: '5.3'
40
+ version: '5.5'
41
+ - !ruby/object:Gem::Dependency
34
42
  requirement: !ruby/object:Gem::Requirement
35
43
  requirements:
36
- - - ~>
44
+ - - "~>"
37
45
  - !ruby/object:Gem::Version
38
- version: '5.3'
46
+ version: '4.2'
47
+ name: rdoc
39
48
  prerelease: false
40
49
  type: :development
41
- - !ruby/object:Gem::Dependency
42
- name: rdoc
43
50
  version_requirements: !ruby/object:Gem::Requirement
44
51
  requirements:
45
- - - ~>
52
+ - - "~>"
46
53
  - !ruby/object:Gem::Version
47
- version: '4.1'
54
+ version: '4.2'
55
+ - !ruby/object:Gem::Dependency
48
56
  requirement: !ruby/object:Gem::Requirement
49
57
  requirements:
50
- - - ~>
58
+ - - "~>"
51
59
  - !ruby/object:Gem::Version
52
- version: '4.1'
60
+ version: '1.8'
61
+ name: json
53
62
  prerelease: false
54
63
  type: :development
55
- - !ruby/object:Gem::Dependency
56
- name: json
57
64
  version_requirements: !ruby/object:Gem::Requirement
58
65
  requirements:
59
- - - ~>
66
+ - - "~>"
60
67
  - !ruby/object:Gem::Version
61
- version: 1.7.7
68
+ version: '1.8'
69
+ - !ruby/object:Gem::Dependency
62
70
  requirement: !ruby/object:Gem::Requirement
63
71
  requirements:
64
- - - ~>
72
+ - - "~>"
65
73
  - !ruby/object:Gem::Version
66
- version: 1.7.7
74
+ version: '0.9'
75
+ name: rake-compiler
67
76
  prerelease: false
68
77
  type: :development
69
- - !ruby/object:Gem::Dependency
70
- name: rake-compiler
71
78
  version_requirements: !ruby/object:Gem::Requirement
72
79
  requirements:
73
- - - ~>
80
+ - - "~>"
74
81
  - !ruby/object:Gem::Version
75
82
  version: '0.9'
83
+ - !ruby/object:Gem::Dependency
76
84
  requirement: !ruby/object:Gem::Requirement
77
85
  requirements:
78
- - - ~>
86
+ - - "~>"
79
87
  - !ruby/object:Gem::Version
80
88
  version: '0.9'
89
+ name: simplecov
81
90
  prerelease: false
82
91
  type: :development
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.9'
83
97
  description: 'Hitimes is a fast, high resolution timer library for recording performance
84
98
  metrics. It uses the appropriate low method calls for each system to get the highest
85
- granularity time increments possible. It currently supports any of the following
99
+ granularity time increments possible. It currently supports any of the following
86
100
  systems: * any system with the POSIX call `clock_gettime()` * Mac OS X * Windows
87
101
  * JRuby Using Hitimes can be faster than using a series of `Time.new` calls, and
88
102
  it will have a much higher granularity. It is definitely faster than using `Process.times`.'
@@ -95,7 +109,6 @@ extra_rdoc_files:
95
109
  - Manifest.txt
96
110
  - README.md
97
111
  files:
98
- - .travis.yml
99
112
  - CONTRIBUTING.md
100
113
  - HISTORY.md
101
114
  - LICENSE
@@ -118,6 +131,7 @@ files:
118
131
  - ext/hitimes/java/src/hitimes/HitimesService.java
119
132
  - ext/hitimes/java/src/hitimes/HitimesStats.java
120
133
  - lib/hitimes.rb
134
+ - lib/hitimes/hitimes.jar
121
135
  - lib/hitimes/metric.rb
122
136
  - lib/hitimes/mutexed_stats.rb
123
137
  - lib/hitimes/paths.rb
@@ -140,32 +154,31 @@ files:
140
154
  - tasks/default.rake
141
155
  - tasks/extension.rake
142
156
  - tasks/this.rb
143
- - lib/hitimes/hitimes.jar
144
157
  homepage: http://github.com/copiousfreetime/hitimes
145
158
  licenses:
146
159
  - ISC
147
160
  metadata: {}
148
161
  post_install_message:
149
162
  rdoc_options:
150
- - --main
163
+ - "--main"
151
164
  - README.md
152
- - --markup
165
+ - "--markup"
153
166
  - tomdoc
154
167
  require_paths:
155
168
  - lib
156
169
  required_ruby_version: !ruby/object:Gem::Requirement
157
170
  requirements:
158
- - - '>='
171
+ - - ">="
159
172
  - !ruby/object:Gem::Version
160
- version: '0'
173
+ version: 1.9.3
161
174
  required_rubygems_version: !ruby/object:Gem::Requirement
162
175
  requirements:
163
- - - '>='
176
+ - - ">="
164
177
  - !ruby/object:Gem::Version
165
178
  version: '0'
166
179
  requirements: []
167
180
  rubyforge_project:
168
- rubygems_version: 2.1.9
181
+ rubygems_version: 2.4.8
169
182
  signing_key:
170
183
  specification_version: 4
171
184
  summary: Hitimes is a fast, high resolution timer library for recording performance metrics. It uses the appropriate low method calls for each system to get the highest granularity time increments possible.
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - "1.8.7"
4
- - "1.9.2"
5
- - "1.9.3"
6
- - "2.0.0"
7
- - "2.1.0"
8
- - jruby-18mode # JRuby in 1.8 mode
9
- - jruby-19mode # JRuby in 1.9 mode
10
- - rbx
11
- install: rake develop