[haiku-commits] Re: haiku: hrev48664 - in src/add-ons/kernel: file_cache network/stack src

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 13 Jan 2015 13:12:20 +0100

On Tue, Jan 13, 2015 at 12:38:50PM +0100, Stephan Aßmus wrote:
> To me it seems these arguments about automatic testing and who should have
> written tests, are just pushing around the blame. I would like to focus
> instead on the question what was to be gained by replacing the hashing
> implementation and whether or not Haiku will now be less stable.

What was gained:
* Removal of an old piece of C code that is not type safe (thus needs
casts), make the code difficult to read (mostly with the iterators).
* Reduction of code duplication (no need for two implementations of the
hash table when just one will do), making the code easier to understand.
* BOpenHashTable supports auto-growing of the hash table, which reduces
hash collisions and thus improves performance. This may need to be
disabled in some places (where the code can be called from inside the VM
system and no memory allocation is possible), but as far as I can see,
none of the remaining khash users are/were such cases. khash supports
manual resizing, but it was never used.

Wether or not this makes Haiku less stable: I don't know. It's hard to
tell without a more complete test suite. But at least it makes the code
a bit more readable when debugging future problems.

-- 
Adrien.

Other related posts: