generic map iterator interface
[nbds] / todo
1 + fix makefile to compute dependency info as a side-effect of compilation (-MF)
2 + support integer keys for ht
3 + optimize tracing code, still too much overhead
4 + use NULL instead of a sentinal node in skiplist and list
5 + make the interfaces for all data structures consistent 
6 + make list and skiplist use string keys
7 + optimize integer keys
8 + ht_print()
9 + iterators
10 - make rcu yield when its buffer gets full instead of throwing an assert
11 - alternate memory reclamation schemes, hazard pointers and/or reference count
12 - investigate 16 byte CAS; ht can store GUIDs inline instead of pointers to actual keys 
13 - document usage
14 - document algorithms
15 - port tests from lib-high-scale
16 - 32 bit version of hashtable
17 - verify list and skiplist work on 32 bit platforms
18 - transaction tests
19 - validate the arguments to interface functions
20 - shortcut from write-set to entries/nodes
21 - use a shared scan for write-set validation, similar to ht copy logic
22 - characterize the performance of hashtable, list and skiplist
23 - experiment with the performance impact of not passing the hash between functions in ht
24 - experiment with embedding the keys in the list/skiplist nodes
25 - allow values of 0 to be inserted into maps (change DOES_NOT_EXIST to something else)
26 - see if it's possible to rename nbd_malloc to malloc