This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
The patch prevents the B-tree impl from creating String instances while it is searching for a String value. IOUtils contains fast (at least I hope) String <-> UTF-8 conversion, too, which tries to avoid allocating intermediate objects. Read/write integer was factored out from read/write methods for ease of use.
Created attachment 4804 [details] Patch against trunk sources
Applied. I was surprised that this small change improved the performance signifacantly. I was comparing the original approach with yours "pseudo-clean" :) because I was affraid that it will spoil the code for no big difference, however it showed up that your code for String (de)serialization is 10x faster than the original one, which (together with separate serialization methods for int and boolean) results in about 30% improvement of overall MDR performance! Thanks! :)