Commit Graph

4 Commits

Author SHA1 Message Date
ledgerwatch
47490aa942
Optimise RecSplit (#82)
* not allocate count

* Print timings

* More time measurement

* See time with fanout=2

* Less branching?

* Revert

* Split functions for fingeprint and bucket separation

* Save indices

* Fix limits

* Use original split formula

* Revert

* uint16

* Correctly measure 2

* Less branching again?

* No time measurements

* Cleanup

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-20 17:39:32 +01:00
ledgerwatch
f2549ad6ec
Integration of recsplit (#79)
* Integration of recsplit

* Add tables

* Print bucket by bucket

* Not to print all keys

* Print correct bitSize

* switch to []byte

* Optimisation

* Fix

* Fix lint

* Performance improvements

* Print bucket info

* Add tracing

* Fixed split

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-20 12:14:49 +01:00
ledgerwatch
312d43aa88
Recsplit encoding (#69)
* Recsplit encoding

* Added Golomb-Rice encoding

* More on encoding

* More

* Fix compile errors

* Fix fuzz test, add corpus

* Integrated Elias-Fano

* Fix lint

* Add select64

* More

* Add fuzz test for elias fano

* Debugging elias fano

* Fuzz test for elias fano

* More elias fano debugging

* Fix elias fano

* More fixes

* Fix to golombRiceLength

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-18 22:59:27 +01:00
ledgerwatch
6dce34ac32
Initial recsplit (#67)
* Initial recsplit

* Move licence

* Fix bucket count and key count

* Check for duplicate kwys

* More recsplit implementation

* Skeleton of recsplit, fuzz test

* Fix lint

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-09-13 18:31:09 +01:00