Simer
Simer
`ByteBufferCleaner` needs to handle cleaning memory-mapped files in JDK 17.
# Overview Currently all test-cases are dependant on `TestBase` which implements `TestLog` , `TestSegment` , `TestLevel` etc which is forcing all test case to extend this base class which forces...
Test cases are getting hard to maintain. `CommonAssertions` and `TestData` are getting too large - All test functions are jammed into these files. All helper functions should be split into...
`BlockCache` should precompute the size of data require and allocate enough `Array[Byte]` instead of creating a `ListBuffer`.
`addAll` is only needed in one location where expansion occurs rarely. Everything else know the exact or approximate minimum max size of the `Slice` to allocate. This task is a...
`Schedular` uses `java.util.Timer` which runs on a background `Thread` not created by the configured compaction `ExecutionContext`. Use `Future`s to implement a simple `Schedular` instead of using a `Timer`.
Compaction can be configured to be highly concurrent for all in-memory operations which also means that it is also concurrent sometimes for initialising Segment iterators (Disk IO) which should be...
## Overview Compaction can be configured to run highly concurrent for all in-memory operations. It use all the allocated threads (configurable) to perform - Merge - Creating indexes - sorted-index,...
# Overview Currently `BlockCacheIO` caches byte arrays in equal sizes of [`blockSize/minIOSeekSize`](https://swaydb.io/configuration/memoryCache/?language=scala&q=blocksize) each. This provides faster `HashMap` inserts and lookups since keys themselves are just `Long` values (unique and no...
`Core` iteration can provide much faster `Stream`ing with better caching and reduced IOps if `Stream` instances provided hints and approximations on things will help core. Currently `Core` tries to guess...