sqs_buffer 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
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