Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Add proper implementation of next_clear_bit for Bitset and update int_al... #35

Merged
merged 1 commit into from Nov 21, 2013

Conversation

Projects
None yet
3 participants
Contributor

pairing commented Nov 21, 2013

...locator to use it, and fix issues with Bitset creating large fixnums.

  • Fix lots of left-shift related bugs in Bitset (as we were creating a large number of BigNum's with potentially thousands of binary digits to hold our "words" due to left-shift converting FixNums to BigNums. It's still going to happen from 61-64 bits, but way better than 2048-bit fixnums being used).
  • Added benchmark for IntAllocator. It used to take up to a minute to allocate 10,000 integers on a 2.7 GHz Intel Core i5, now takes 4 seconds for 65,536 (which we killed after waiting for 6 minutes using the old allocator).
@pairing pairing Add proper implementation of next_clear_bit for Bitset and update int…
…_allocator to use it, and fix issues with Bitset creating large fixnums.

- Fix lots of left-shift related bugs in Bitset (as we were creating a large number of BigNum's with potentially thousands of binary digits to hold our "words" due to left-shift converting FixNums to BigNums. It's still going to happen from 61-64 bits, but way better than 2048-bit fixnums being used).
- Added benchmark for IntAllocator. It used to take up to a minute to allocate 10,000 integers on a 2.7 GHz Intel Core i5, now takes 4 seconds for 65,536 (which we killed after waiting for 6 minutes using the old allocator).
63e8a3a

@michaelklishin michaelklishin added a commit that referenced this pull request Nov 21, 2013

@michaelklishin michaelklishin Merge pull request #35 from neo/master
Add proper implementation of next_clear_bit for Bitset and update int_al...
df8af9a

@michaelklishin michaelklishin merged commit df8af9a into ruby-amqp:master Nov 21, 2013

1 check failed

default The Travis CI build could not complete due to an error
Details
Owner

michaelklishin commented Nov 21, 2013

👍

Don't mind the CI failure, Travis has changed names of Rubinius instances as of this week.

Owner

michaelklishin commented Nov 21, 2013

New releases of amq-protocol and amqp gem are out.

Thank you for contributing!

You're welcome - glad to be of service :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment