Permalink
Commits on Sep 20, 2010
  1. BUMP 1.0.9

    banker committed Sep 20, 2010
  2. minor: credits

    banker committed Sep 20, 2010
  3. minor: fast_pack no longer used

    banker committed Sep 20, 2010
Commits on Sep 14, 2010
  1. Optimize ObjectId#generate: cache the MD5 of the host name and genera…

    …te counters in C instead of Ruby.
    FooBarWidget committed with banker Sep 13, 2010
  2. Optimize Mongo::Connection#receive_message_on_socket and #receive_and…

    …_discard_message_on_socket: avoid creating initial input buffer up front so that IO#read only needs to allocate the buffer once.
    FooBarWidget committed with banker Sep 13, 2010
  3. Optimize Mongo::Connection#send_message_on_socket: don't slice the in…

    …put when not necessary.
    FooBarWidget committed with banker Sep 13, 2010
  4. Optimize Mongo::Connection#add_message_headers by packing data direct…

    …ly instead of using ByteBuffer.
    FooBarWidget committed with banker Sep 13, 2010
Commits on Sep 13, 2010
  1. minor: comment cleanup

    banker committed Sep 13, 2010
  2. minor: test fix getlasterror

    banker committed Sep 13, 2010
  3. Fix MongoDB::Collection #insert_documents, #update and #remove and Mo…

    …ngoDB::Connection #receive_header and #last_error_message: usage strings as much as possible instead of byte arrays, otherwise performance really suffers.
    FooBarWidget committed with banker Sep 12, 2010
  4. Fix reference to NULL_BYTE.

    FooBarWidget committed with banker Sep 11, 2010
  5. Improve ByteBuffer unit tests.

    FooBarWidget committed with banker Sep 11, 2010
  6. Optimize MongoDB::Connection#receive_response_header by using raw str…

    …ing operations and unpack() instead of the slower ByteBuffer.
    FooBarWidget committed with banker Sep 11, 2010
  7. Optimize MongoDB::Connection#receive.

    It doesn't do anything with the header. So instead of parsing the header,
    just read the header data and discard it.
    FooBarWidget committed with banker Sep 11, 2010
  8. Optimize Mongo::Connection#read_documents by using raw string operati…

    …ons and unpack() instead of the slower ByteBuffer.
    FooBarWidget committed with banker Sep 11, 2010
  9. Optimize ByteBuffer#get_int.

    FooBarWidget committed with banker Sep 11, 2010
  10. Optimize Ruby 1.8 implementation of BSON::OrderedHash.

    The set in there is unnecessary. Use the hash itself as "set". This makes
    BSON::OrderedHash 148% faster on Ruby 1.8.
    FooBarWidget committed with banker Sep 11, 2010
  11. Optimize receive_message_on_socket for the optimistic average case wh…

    …ere 1 socket.read() operation receives all requested data. Also fix some Ruby 1.9 encoding issues in that function while we're at it.
    FooBarWidget committed with banker Sep 11, 2010
Commits on Sep 12, 2010
  1. replace usage of `returning` with `each_with_object`

    `each_with_object` is a Ruby 1.9 method, here re-implemented in core_ext.rb
    in case it's missing (for older Ruby versions). Using `returning` is bad in
    combination with Ruby on Rails because each usage of the method will emit
    a Rails deprecation warning. This might be considered an Active Support bug,
    but it's better to avoid using `returning` altogether and use `tap` from
    Ruby 1.8.7, also re-implemented here in case it's missing.
    
    Since existing usages or `returning` were better suited for `each_with_object`
    than `tap`, they were rewritten using the former instead.
    mislav committed with banker Sep 4, 2010
Commits on Sep 9, 2010
  1. When possible, have BSON::ByteBuffer store the underlying binary data…

    … as a binary String instead of an array.
    
    This dramatically improves the performance of BSON::ByteBuffer.new(a_string).
    On Ruby 1.9.2 it is about 130 times faster.
    FooBarWidget committed with banker Sep 7, 2010
  2. RUBY-180 fixed failing test

    banker committed Sep 9, 2010
  3. minor: typo fix

    banker committed Sep 9, 2010
  4. RUBY-180 Fix batch size

    banker committed Sep 9, 2010
Commits on Sep 8, 2010
  1. Create logging message only when a logger is passed to the Connection.

    Results in a pretty significant performance improvement.
    
    Many thanks to Matt Taylor for noticing the unusual glut of calls
    to ObjectId#to_s. See here: http://unhalting.com/?p=18
    banker committed Sep 8, 2010