Permalink
Browse files

bump to version 0.4.0

  • Loading branch information...
1 parent d38a6f6 commit c814a593fb781bc374b6a91269032f16eead2da1 Chuck Remes committed Dec 22, 2010
Showing with 35 additions and 17 deletions.
  1. +16 −0 History.txt
  2. +8 −6 README.rdoc
  3. +1 −1 Rakefile
  4. +1 −1 version.txt
  5. +9 −9 zmqmachine.gemspec
View
@@ -1,3 +1,19 @@
+== 0.4.0 / 2010-12-16
+ * Replaced SortedSet in Timers with an Array and a custom routine
+ for finding the in-order index for an insert. The routine
+ uses a binary search algo so it can find the proper index in
+ O(nlog n) time. This resulted in a 2 order of magnitude perf
+ increase when using more than a handful of timers.
+ * Modified the default reactor poll interval to 10ms from 100usec.
+ Also, fixed the poll routine so that it sleeps for poll_interval
+ when there are no procs scheduled and there are no sockets
+ registered. With no sockets, the call to Poller#poll returns
+ immediately. This was showing as a busy loop and pushing CPU
+ to 100% for some users.
+ With this change, timers now have a minimum *default* resolution
+ of 10 milliseconds. The poll interval can be overridden and set to
+ a minimum of 1ms for better timing controls.
+
== 0.3.2 / 2010-08-25
* Fixed a bug in Timers where the timers were never getting removed
after they fired. Bug was caused by a Ruby bug with #delete_if. While
View
@@ -20,7 +20,7 @@ descriptors. This isn't on my roadmap but patches are accepted.
== FEATURES/PROBLEMS:
-* No specs yet.
+* Very few specs.
* Documentation is limited. I need to write up a lot more detail on the Handler classes passed
to socket instances and how this differs from the Eventmachine way.
@@ -41,18 +41,20 @@ Read and execute the examples in the examples directory.
Requires the 0mq library
-* 0mq 2.0.7
+* 0mq 2.0.10 or 2.1 and later
Depends on 2 external gems.
-* ffi-rzmq (>= 0.5.0)
-* ffi (> 0.6.3) (built from master for threading fixes)
+* ffi-rzmq (>= 0.7.0)
+* ffi (>= 1.0.0)
== INSTALL:
Make sure the 0MQ library is already installed on your system. Secondly,
-make sure the FFI gem is built from its project master (see Requirements).
-Lastly, verify the ffi-rzmq gem is built from its project master.
+verify the ffi-rzmq gem is installed (available from rubygems.org).
+
+Lastly, install the zmqmachine gem from rubygems.org. Alternately, build
+and install directly from a cloned git repository.
% git clone github.com/chuckremes/zmqmachine.git
% cd zmqmachine
View
@@ -16,6 +16,6 @@ Bones {
ignore_file '.gitignore'
readme_file 'README.rdoc'
- depend_on 'ffi-rzmq', '>= 0.6.0'
+ depend_on 'ffi-rzmq', '>= 0.7.0'
}
View
@@ -1 +1 @@
-0.3.2
+0.4.0
View
@@ -2,11 +2,11 @@
Gem::Specification.new do |s|
s.name = %q{zmqmachine}
- s.version = "0.3.2"
+ s.version = "0.4.0"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Chuck Remes"]
- s.date = %q{2010-08-25}
+ s.date = %q{2010-12-22}
s.description = %q{ZMQMachine is another Ruby implementation of the reactor pattern but this
time using 0mq sockets rather than POSIX sockets.
@@ -28,21 +28,21 @@ descriptors. This isn't on my roadmap but patches are accepted.}
s.require_paths = ["lib"]
s.rubyforge_project = %q{zmqmachine}
s.rubygems_version = %q{1.3.7}
- s.summary = %q{ZMQMachine is another Ruby implementation of the reactor pattern but this time using 0mq sockets rather than POSIX sockets}
+ s.summary = %q{ZMQMachine is another Ruby implementation of the reactor pattern but this time using 0mq sockets rather than POSIX sockets.}
if s.respond_to? :specification_version then
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
- s.add_runtime_dependency(%q<ffi-rzmq>, [">= 0.5.0"])
- s.add_development_dependency(%q<bones>, [">= 3.4.7"])
+ s.add_runtime_dependency(%q<ffi-rzmq>, [">= 0.7.0"])
+ s.add_development_dependency(%q<bones>, [">= 3.5.4"])
else
- s.add_dependency(%q<ffi-rzmq>, [">= 0.5.0"])
- s.add_dependency(%q<bones>, [">= 3.4.7"])
+ s.add_dependency(%q<ffi-rzmq>, [">= 0.7.0"])
+ s.add_dependency(%q<bones>, [">= 3.5.4"])
end
else
- s.add_dependency(%q<ffi-rzmq>, [">= 0.5.0"])
- s.add_dependency(%q<bones>, [">= 3.4.7"])
+ s.add_dependency(%q<ffi-rzmq>, [">= 0.7.0"])
+ s.add_dependency(%q<bones>, [">= 3.5.4"])
end
end

0 comments on commit c814a59

Please sign in to comment.