replace the FolderStorage with DiskStorage

- The DiskStorage uses only one file instead of millions.
  Also the block size is only 512 byte instead of 4kb, which
  helps to reduce the memory usage for short sequences.
- Update primitiveCollections to get the new LongList.range
  and LongList.rangeClosed methods.
- BSFile now stores Time&Value sequences and knows how to
  encode the time values with delta encoding.
- Doc had to do some magic tricks to save memory. The path
  was initialized lazy and stored as byte array. This is no
  longer necessary. The patch was replaced by the
  rootBlockNumber of the BSFile.
- Had to temporarily disable the 'in' queries.
- The stored values are now processed as stream of LongLists
  instead of Entry. The overhead for creating Entries is
  gone, so is the memory overhead, because Entry was an
  object and had a reference to the tags, which is
  unnecessary.
This commit is contained in:
2018-09-12 09:35:07 +02:00
parent 26dc052b95
commit 1182d76205
36 changed files with 799 additions and 1483 deletions

View File

@@ -1,7 +1,7 @@
dependencies {
compile project(':performanceDb')
compile 'org.lucares:primitiveCollections:0.1.20180817193843'
compile 'org.lucares:primitiveCollections:0.1.20180908084945'
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.6'
compile 'com.google.guava:guava:26.0-jre'
}