sqs_buffer 0.3.5 → 0.3.6

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: ce1ede5be4b5121a2b391ca77799942fd4dd08fb
4
- data.tar.gz: 917ff98a04784443ad41b46758296569da97bd9b
3
+ metadata.gz: 64711db4524d53087428cf596cba34f0dd3c768f
4
+ data.tar.gz: 1514233466a682cd48279469e8d08ee3b86a2518
5
5
  SHA512:
6
- metadata.gz: e97728a07d1d00fd9de59ba65c07e9b4ed5eabfaf5ad13c037035a2b7d6b77c5b0ec6b6eb63859fbb75d86dc4fc6f63602f05ded0fbe5ea3523c250156518430
7
- data.tar.gz: ef1aaded25d0e6ac65ae5d8bd15a6edbcf9fc73daf127306e628bf967ea6a72217001fe4cabb7564a88d633fcc3d976d4684269aeddf375a092f3c00300e406f
6
+ metadata.gz: eeda9c55fbf62d7635bd7782e0b8663d0e43bda2116c0878dae735e216084e996b3054eb7e3589bf1b44d277fbf2307d3e51cdd8cbbe83ca285f4a90d2c93277
7
+ data.tar.gz: 415a5c2cee87155e3c8c61639961deedce75de32c61c4aaf61347be77f4e4236d805b1694b49390ecd726d2f70c4bf0705e80b946649570cf5fa94c0904b3a42
@@ -0,0 +1,24 @@
1
+ require 'pry'
2
+ require 'benchmark'
3
+ require 'concurrent'
4
+
5
+ @message_queue = Concurrent::Array.new
6
+ 10000.times { @message_queue << Class.new }
7
+
8
+ 1.times do
9
+ Benchmark.bmbm do |x|
10
+ x.report("reader") { 100000.times { @message_queue } }
11
+ end
12
+
13
+ Benchmark.bmbm do |x|
14
+ x.report("dup") { 100000.times { @message_queue.dup } }
15
+ end
16
+
17
+ Benchmark.bmbm do |x|
18
+ # This is super slow.....
19
+ x.report("internal dup") { 100.times { @message_queue.map(&:dup) } }
20
+ end
21
+
22
+ end
23
+
24
+
@@ -74,7 +74,10 @@ module SqsBuffer
74
74
 
75
75
  def buffer
76
76
  # Return a copy of the array events to guard against potential mutation
77
- Marshal.load( Marshal.dump(@message_queue) )
77
+ # This fails on jruby 9000 for some reason....
78
+ # Marshal.load( Marshal.dump(@message_queue) )
79
+ # Should we dup all items? look at benchmark :(
80
+ @message_queue.dup
78
81
  end
79
82
 
80
83
  def shutting_down?
@@ -1,3 +1,3 @@
1
1
  module SqsBuffer
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqs_buffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Thomas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-09 00:00:00.000000000 Z
11
+ date: 2016-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - ~>
16
+ - - "~>"
17
17
  - !ruby/object:Gem::Version
18
18
  version: '2.2'
19
19
  name: aws-sdk
@@ -21,13 +21,13 @@ dependencies:
21
21
  type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - ~>
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '1.0'
33
33
  name: concurrent-ruby
@@ -35,13 +35,13 @@ dependencies:
35
35
  type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  name: bundler
@@ -49,13 +49,13 @@ dependencies:
49
49
  type: :development
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - '>='
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
61
  name: rake
@@ -63,13 +63,13 @@ dependencies:
63
63
  type: :development
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - '>='
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  name: rspec
@@ -77,13 +77,13 @@ dependencies:
77
77
  type: :development
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - '>='
86
+ - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  name: dotenv
@@ -91,13 +91,13 @@ dependencies:
91
91
  type: :development
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - '>='
100
+ - - ">="
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  name: pry
@@ -105,7 +105,7 @@ dependencies:
105
105
  type: :development
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: |-
@@ -118,14 +118,15 @@ executables: []
118
118
  extensions: []
119
119
  extra_rdoc_files: []
120
120
  files:
121
- - .gitignore
122
- - .rspec
123
- - .ruby-version
124
- - .travis.yml
121
+ - ".gitignore"
122
+ - ".rspec"
123
+ - ".ruby-version"
124
+ - ".travis.yml"
125
125
  - Gemfile
126
126
  - LICENSE.txt
127
127
  - README.md
128
128
  - Rakefile
129
+ - benchmark/spike.rb
129
130
  - bin/console
130
131
  - bin/setup
131
132
  - lib/sqs_buffer.rb
@@ -142,17 +143,17 @@ require_paths:
142
143
  - lib
143
144
  required_ruby_version: !ruby/object:Gem::Requirement
144
145
  requirements:
145
- - - '>='
146
+ - - ">="
146
147
  - !ruby/object:Gem::Version
147
148
  version: '0'
148
149
  required_rubygems_version: !ruby/object:Gem::Requirement
149
150
  requirements:
150
- - - '>='
151
+ - - ">="
151
152
  - !ruby/object:Gem::Version
152
153
  version: '0'
153
154
  requirements: []
154
155
  rubyforge_project:
155
- rubygems_version: 2.4.5
156
+ rubygems_version: 2.4.8
156
157
  signing_key:
157
158
  specification_version: 4
158
159
  summary: Buffer SQS messages to process more than 10 events