Hi there,

I have been keeping quite busy during week 11:

1) I added plenty of benchmarks for CHT. Run "chtbench
0 0 0" in the kernel console for the cht-bench branch [1].

2) I ran the benchmarks and made sure the results were
statistically significant. Performance graphs are here:
http://trac.helenos.org/wiki/ConcurrentHashTable#Results

3) I changed the representation of the end of a hash bucket
from a NULL next pointer to a single sentinel node [3]. The
change does not adversely affect lookup performance, but
it improves update speed. Moreover, it will speed up the
table if it is growing, but not fast enough. The perf.
graphs in [2] do not reflect this change.

4) More recently, I cleaned up the single threaded user
space hash table [4]:
- Keys are now represented as void* instead of the cumbersome
  unsigned long[].
- All hashes computed from multiple values use hash_combine()
  instead of ad hoc solutions.
- Replaced partial matching hash_table_remove() with
  hash_table_apply().
- Fixed some minor bugs in the table implementation.

Happy coding.

Adam

[1] lp:~adam-hraska+lp/helenos/cht-bench/
    http://bazaar.launchpad.net/~adam-hraska+lp/helenos/cht-bench/changes

[2] http://trac.helenos.org/wiki/ConcurrentHashTable#Results

[3] http://bazaar.launchpad.net/~adam-hraska+lp/helenos/rcu/revision/1586

[4] http://bazaar.launchpad.net/~adam-hraska+lp/helenos/rcu/revision/1589

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to