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
