Update:
Testing passed, and the new code is a LOT faster.  Whenever Thomas gives me
the go-ahead (I've emailed details to him) I'll commit the changes.
For the moment, but here is a teaser for you all:

*** Unpatched (using previous stable build): ***
Sequential set range (ms):  (64 bits / 500 bits / 5000 bits)
5.31 / 39.1 / 377.5

Random set range (ms): (max 64 bits / 500 bits / 5000 bits)
488 / 2519 / 22404

*** PATCHED:***
Unpatched (using previous stable build):
Sequential set range (ms):  (64 bits / 500 bits / 5000 bits)
0.373 / 0.500 / 3.52

Random set range (ms): (max 64 bits / 500 bits / 5000 bits)
217 / 254 / 356

Yes that's right, the patch makes BitField.setRange between 10 and 100 (!!!)
times faster.  In the bigger picture, this should improve performance a bit
in many different places.  In particular, index creation with large rows
should be faster.  Based on profiling of index creation, there aren't many
(simple) bottlenecks, but this is a one minor one, and every small
optimization will help!

The only case when the old method is faster is for VERY small ranges -- 3
bits or less, from what I'm seeing.
If that's a problem, I believe I can improve that; don't want to re-test and
re-benchmark unless I have to though.

Cheers,
Sam Van Oort

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to