It turns out that pre-allocating the entire tree was too expensive in terms of memory when using large values for the -mcs and -ics parameters. Pre-allocating the first two dimensions prevents us from ever locking the root node during a put(). Contention between threads over lower levels of the tree should be minimal given that puts are rare compared to gets. Also output dimensions and pre-allocation info at startup. If pre-allocation takes longer than usual this gives the user a sense of what is causing the delay. |
||
|---|---|---|
| .. | ||
| R | ||
| c | ||
| chainFiles | ||
| doc | ||
| java | ||
| keys | ||
| packages | ||
| perl | ||
| scala | ||
| testdata | ||