Sebastian Messmer
|
eb792daefc
|
More preparations for not loading blocks in write() calls
|
2016-07-15 21:06:41 +02:00 |
|
Sebastian Messmer
|
d80b95514e
|
Traversal doesn't load leaves, but returns the key. This way, the write() call can (after a future commit) write to full leaves without loading them beforehand.
|
2016-07-15 20:12:24 +02:00 |
|
Sebastian Messmer
|
582917c1f5
|
Improve code decreasing tree depth
|
2016-07-15 16:23:00 +02:00 |
|
Sebastian Messmer
|
b1b90b8c3d
|
Further reduce number of nodes loaded when deleting a tree and write test cases for it
|
2016-07-15 15:42:34 +02:00 |
|
Sebastian Messmer
|
6fc62a58fa
|
Removed unneeded include
|
2016-07-15 12:51:29 +02:00 |
|
Sebastian Messmer
|
c428d5642a
|
Minimize number of Block::write() calls when creating new nodes in a traversal. Also add test cases for it.
|
2016-07-15 12:48:20 +02:00 |
|
Sebastian Messmer
|
d626349802
|
Finish MockBlockStore to also collect other performance metrics, and implement the standard block store tests for it.
|
2016-07-15 10:23:09 +02:00 |
|
Sebastian Messmer
|
fdcd3b1314
|
ChangeLog
|
2016-07-15 01:20:12 +02:00 |
|
Sebastian Messmer
|
622416bc4d
|
Add test cases for traverse performance
|
2016-07-15 01:03:41 +02:00 |
|
Sebastian Messmer
|
4e689f2411
|
Add test case ensuring that leaves aren't loaded on delete
|
2016-07-14 23:38:17 +02:00 |
|
Sebastian Messmer
|
f42e08a5f6
|
Fix DataTree::key() when called while traversing
|
2016-07-14 17:56:47 +02:00 |
|
Sebastian Messmer
|
6ff0839e90
|
Add locking to blob
|
2016-07-14 16:36:30 +02:00 |
|
Sebastian Messmer
|
457ca52eb3
|
Add assertions to unique_ref
|
2016-07-14 16:29:02 +02:00 |
|
Sebastian Messmer
|
7ea08fc2b0
|
Add test cases for removing nodes
|
2016-07-14 16:12:51 +02:00 |
|
Sebastian Messmer
|
91bf6c3647
|
Keep resource destructor in ParallelAccessStore under mutex
|
2016-07-14 15:10:52 +02:00 |
|
Sebastian Messmer
|
3f04a7411c
|
If tree depth increases, and we already traversed the old tree, don't go into it again to grow its last leaf.
|
2016-07-14 14:23:15 +02:00 |
|
Sebastian Messmer
|
cbe122cb5f
|
Add assertions
|
2016-07-14 13:23:36 +02:00 |
|
Sebastian Messmer
|
0bb6b320d4
|
Add asserts
|
2016-07-14 12:58:42 +02:00 |
|
Sebastian Messmer
|
0dbfdf3e2b
|
When shrinking a tree, LeafTraverser takes care of decreasing tree depth, not DataTree anymore. This way, LeafTraverser is now responsible for increasing and decreasing depth as necessary.
|
2016-07-14 12:55:54 +02:00 |
|
Sebastian Messmer
|
35a4e42ba5
|
Small fixes in traversal algorithm
|
2016-07-14 12:38:25 +02:00 |
|
Sebastian Messmer
|
fce81f47ff
|
Simplify code a bit and add assertions
|
2016-07-14 12:03:15 +02:00 |
|
Sebastian Messmer
|
41146282ca
|
Add test cases for tree traversal
|
2016-07-14 11:41:49 +02:00 |
|
Sebastian Messmer
|
9e9369b9ed
|
Performance optimization: When removing or shrinking a tree, we don't load/read leaves anymore. Loading inner nodes is enough to get all block IDs and then we can delete the leaves from their IDs without loading them.
|
2016-07-13 11:27:31 +02:00 |
|
Sebastian Messmer
|
7a68757599
|
Remove unneeded subtrees when shrinking tree
|
2016-07-13 07:08:53 +02:00 |
|
Sebastian Messmer
|
cf38eb0eb3
|
Use tree traversal to remove data tree.
|
2016-07-13 00:29:36 +02:00 |
|
Sebastian Messmer
|
e7268744c6
|
Fix compiler warning
|
2016-07-13 00:23:29 +02:00 |
|
Sebastian Messmer
|
508766d2f2
|
Fix traversal and add test cases
|
2016-07-13 00:22:35 +02:00 |
|
Sebastian Messmer
|
845b0b5239
|
Use LeafTraversor for resizing blobs
|
2016-07-12 20:36:12 +02:00 |
|
Sebastian Messmer
|
a19d79361c
|
If a tree is grown by a traversal, the tree is kept in a balanced state as long as possible during the traversal
|
2016-07-12 09:57:56 +02:00 |
|
Sebastian Messmer
|
1bf20277e4
|
Removed unnecessary code
|
2016-07-12 01:10:27 +02:00 |
|
Sebastian Messmer
|
58f2212043
|
Don't query size on traversal
|
2016-07-12 01:09:30 +02:00 |
|
Sebastian Messmer
|
582c9c1a4c
|
Fix traversal
|
2016-07-12 01:04:33 +02:00 |
|
Sebastian Messmer
|
98b85ea8b6
|
Started rewriting traversal
|
2016-07-10 22:57:39 +02:00 |
|
Sebastian Messmer
|
2bc3b641aa
|
Allow Data::FillWithZeroes on rvalue
|
2016-07-10 22:43:07 +02:00 |
|
Sebastian Messmer
|
30a1a3617e
|
Fix compiler warning in test case
|
2016-07-10 22:15:48 +02:00 |
|
Sebastian Messmer
|
dde89da556
|
Improve traverseLeaves
|
2016-07-10 08:38:02 +02:00 |
|
Sebastian Messmer
|
0d860fa4f0
|
Speed up block loading/storing by issuing only one read/write syscall to the base file system
|
2016-07-06 15:35:51 -07:00 |
|
Sebastian Messmer
|
7348f7c64d
|
Add checks to Data::LoadFromFile() and Data::StoreToFile()
|
2016-07-06 15:28:14 -07:00 |
|
Sebastian Messmer
|
e85019e95b
|
Cache value of DataTree.numLeaves(). This should make read()/write() faster.
|
2016-07-05 23:56:44 -07:00 |
|
Sebastian Messmer
|
2f8e8d8157
|
Add test case for DataTree::numLeaves after resize
|
2016-07-05 23:53:13 -07:00 |
|
Sebastian Messmer
|
a242076ecc
|
Performance improvement: Allow more parallelity when getting read()/write() syscalls to the same blob
|
2016-07-05 23:02:59 -07:00 |
|
Sebastian Messmer
|
ff0ba06846
|
Add mutex to fix race condition
|
2016-06-29 16:42:43 -07:00 |
|
Sebastian Messmer
|
3a447a7110
|
Add a test case to VersionCompareTest
|
2016-06-28 15:24:18 -07:00 |
|
Sebastian Messmer
|
f4eb5534ad
|
Merge from develop
|
2016-06-28 14:52:18 -07:00 |
|
Sebastian Messmer
|
01daee784f
|
Mark version 0.9.5 as released
|
2016-06-28 02:32:09 -07:00 |
|
Sebastian Messmer
|
9e1d466eee
|
Merge branch 'develop' into next
|
2016-06-28 01:38:12 -07:00 |
|
Sebastian Messmer
|
967b04929d
|
Fix compiling test cases on older gcc versions
|
2016-06-28 01:37:08 -07:00 |
|
Sebastian Messmer
|
def80c06ae
|
Merge branch 'develop' into next
|
2016-06-27 23:04:26 -07:00 |
|
Sebastian Messmer
|
f706e46868
|
Fix compiling test cases on older gcc versions
|
2016-06-27 22:57:31 -07:00 |
|
Sebastian Messmer
|
0f9aba1fc4
|
Fix compilation of test cases for old gcc
|
2016-06-27 22:39:33 -07:00 |
|