1 | 1) TODO: I/O implementation in densehashtable.h
|
---|
2 |
|
---|
3 | 2) TODO: support non-plain-old-data types for key/value. Ideally,
|
---|
4 | identify POD situations and use malloc+memmove for them, otherwise
|
---|
5 | use new+copying.
|
---|
6 |
|
---|
7 | 3) TODO: document SPARSEHASH_STAT_UPDATE macro, and also macros that
|
---|
8 | tweak performance. Perhaps add support to these to the API?
|
---|
9 |
|
---|
10 | 4) TODO: support exceptions?
|
---|
11 |
|
---|
12 | 5) BUG: sparsetable's operator[] doesn't work well with printf: you
|
---|
13 | need to explicitly cast the result to value_type to print it. (It
|
---|
14 | works fine with streams.)
|
---|
15 |
|
---|
16 | 6) TODO: consider rewriting dense_hash_map to use a 'groups' scheme,
|
---|
17 | like sparsetable, but without the sparse-allocation within a
|
---|
18 | group. This makes resizing have better memory-use properties. The
|
---|
19 | downside is that probes across groups might take longer since
|
---|
20 | groups are not contiguous in memory. Making groups the same size
|
---|
21 | as a cache-line, and ensuring they're loaded on cache-line
|
---|
22 | boundaries, might help. Needs careful testing to make sure it
|
---|
23 | doesn't hurt performance.
|
---|
24 |
|
---|
25 | 7) TODO: Get the C-only version of sparsehash in experimental/ ready
|
---|
26 | for prime-time.
|
---|
27 |
|
---|
28 | 8) TODO: solve the problem that config.h pollutes the global namespace
|
---|
29 | with all the #defines it makes (any number of which might conflict
|
---|
30 | with a #define in another config.h a user might happen to include).
|
---|
31 |
|
---|
32 | ---
|
---|
33 | 20 March 2005
|
---|