Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Nov 11, 2014
  1. Version bump to 1.2.1

    authored
  2. Merge pull request #9 from bkutil/check_height

    authored
    Fix raise on check_height for empty RB tree
  3. Merge pull request #8 from bkutil/gemspec_fix

    authored
    Add missing runtime dependency on atomic to gemspec
  4. Balazs Kutil
  5. Balazs Kutil
Commits on Sep 28, 2014
  1. Fix gemspec for release

    authored
    Also allow test failure on JRuby HEAD temporarily.
  2. Version bump to 1.2.0

    authored
  3. Update README.md

    authored
  4. Rename README to README.md

    authored
  5. Update README

    authored
  6. Internal method signature refactoring

    authored
    No visible changes from outside.
  7. Merge pull request #6 from nahi/topic_link_immutable

    authored
    Add ConcurrentRedBlackTree, thread-safe insert/delete/read based on link immutability and CAS
  8. Name refactoring for readability

    authored
    link -> child, links -> children
  9. Change the name for co-existing with the old one

    authored
    New name is ConcurrentRedBlackTree. Keep the name RedBlackTree as the
    thread unsafe version.
  10. Abstract tree operation

    authored
    Introduce LEFT and RIGHT that fullfills ~LEFT == RIGHT and ~RIGHT ==
    LEFT then abstract tree operations by specifying operation direction as
    a method argument.
    
    It introduced 10% runtime performance drop of insert/delete but it's a
    good deal for maintenanceability.
  11. Variable assignment refactoring

    authored
Commits on Sep 27, 2014
  1. Add multi-thread benchmark

    authored
     * 2 Threads for insert
     * 2 Threads for delete
     * 2 Threads for read
  2. Replace giant writer lock with CAS

    authored
    First, this commit makes nodes completely immutable (color and value,
    too.) for concurrent writer execution.  Then protect @root in
    insert/delete with CAS.  Now this gem depends 'atomic' gem.
  3. Tim Potter

    Add explicit license files for licenses mentioned in README

    tpot authored committed
  4. Test for AVLTree#height

    authored
  5. Update Travis-CI build matrix

    authored
  6. Kyle J. Kemp

    added height accessor

    seiyria authored committed
  7. Merge pull request #7 from tpot/add-license-files

    authored
    Add explicit license files for licenses mentioned in README
Commits on Sep 26, 2014
  1. Tim Potter
  2. Test for AVLTree#height

    authored
  3. Merge pull request #5 from seiyria/patch-1

    authored
    added height accessor
Commits on Sep 25, 2014
  1. Update Travis-CI build matrix

    authored
  2. Add multi-threaded test

    authored
    With current version this test fails with 'should not happen'
    exception in rebalance or stack over flow from endless recursive call.
  3. Make links immutable

    authored
    Color and value are still mutable but retrieve method should not mind
    it. Color is for rebalance (so insert/delete use it but retrieve
    doesn't) and value assignment is Thread-safe in Ruby.
    
    Write performance should drop but not yet measured.
  4. Make it clear that it depends on test-unit

    authored
    Ruby 2.2 is going to make test-unit as a gem.
  5. Remove node_flip to make a little more immutable

    authored
    Tree is not yet immutable (rotates, color_flip.)  Just make it
    simpler.
Commits on Oct 12, 2013
  1. Kyle J. Kemp

    added height accessor

    seiyria authored
Commits on May 8, 2012
  1. Version bump to 1.1.3

    authored
  2. Graceful handling of uncomparable keys

    authored
    h["a"] = 1
    h[1.1] = 2    # => TypeError because "a" <=> 1.1 returns nil
    h.delete(1.1) # => ditto
    h[1.1]        # => nil, not error
    
    Closes #4.
Something went wrong with that request. Please try again.