martinsumner
5b9e68df99
Add some crash protection for empty return from to_range
...
Not clear though why it would occur.
2016-12-29 03:04:10 +00:00
martinsumner
3f3b36597a
Add timer for SST creation
2016-12-29 02:55:28 +00:00
martinsumner
a665b8ea4f
Tidy-up unused variable
2016-12-29 02:41:02 +00:00
martinsumner
0c4d949c7f
State mixup in FSM
2016-12-29 02:40:09 +00:00
Martin Sumner
18f2b5660d
Fix to ensure directory structure created
2016-12-29 02:31:10 +00:00
martinsumner
dc28388c76
Removed SFT
...
Now moved over to SST on this branch
2016-12-29 02:07:14 +00:00
martinsumner
c664483f03
Add basic merge support
...
No generates KV list first, and then creates a new SST
2016-12-28 21:47:05 +00:00
martinsumner
cbad375373
Refactoring of skiplist ranges and support for sst ranges
...
the Skiplist range code was needlessly complicated. It may be faster
than the new code, but the complexity delta cannot be support for such a
small change.
This was incovered whilst troubleshooting the initial kv range test.
2016-12-28 15:48:04 +00:00
martinsumner
6e5f5d2d44
Alter ordering
...
don't try the cache hit before checking for presence, only look in the
cache if protecting a lookup from the persisted part
2016-12-24 18:13:55 +00:00
martinsumner
480820e466
Add hash to missing key test
2016-12-24 18:03:34 +00:00
martinsumner
8526106312
Test for missing keys
2016-12-24 17:59:07 +00:00
martinsumner
0d0ab32653
Some end-to-end testing
2016-12-24 17:48:31 +00:00
martinsumner
7a11e8b490
Some basic testing
2016-12-24 16:34:36 +00:00
martinsumner
58d8e60994
Some basic code layout work
2016-12-24 15:12:24 +00:00
martinsumner
cb654b1325
Build the table summary
...
The table summary will be a skiplist, and this and the slot binary will
be CRC checked
2016-12-24 01:23:40 +00:00
martinsumner
4f838f6f88
Settled on sizes
...
Also removed length check due to warning in Erlang guidance about
non-constant time nature of this command. Intend to remove lengths from
elsewhere (especially when used simply for logging).
2016-12-24 00:41:50 +00:00
martinsumner
b1a3b4ad13
Switch slot to gb_trees and size of 128
2016-12-24 00:02:06 +00:00
martinsumner
0cea470b70
Share final timing test
2016-12-23 23:30:15 +00:00
martinsumner
2d08816445
Confirm timings
2016-12-23 18:08:22 +00:00
martinsumner
4466210ac8
Revert back to slot size of 256
...
Changing the slot size higher has a significant impact on the fetch
time, although it allows for more constant time on write. i.e. doubling
the size means 5 x cost of read, if only a 10% increase at write time.
2016-12-23 17:07:05 +00:00
martinsumner
b1429a7330
Experiment with slot width of 512
2016-12-23 16:49:16 +00:00
martinsumner
60bddbc874
More timing - and changes slot width
2016-12-23 13:17:59 +00:00
martinsumner
b37f3acb1e
Extra timings
2016-12-23 12:44:44 +00:00
martinsumner
90e587dcee
Initial functions and unit tests
...
Try to replace SFT files with one that more natively supports features
already in use (e.g. skiplist, tinybloom and magic_hash)
2016-12-23 12:30:58 +00:00