mirror of https://github.com/voidlizard/hbs2
wip, lsm test
This commit is contained in:
parent
234767de67
commit
0cc1a9a116
Binary file not shown.
|
@ -1040,3 +1040,45 @@ executable test-merge-limits
|
||||||
, unordered-containers
|
, unordered-containers
|
||||||
, unix
|
, unix
|
||||||
, timeit
|
, timeit
|
||||||
|
|
||||||
|
|
||||||
|
executable test-lsw-write
|
||||||
|
import: shared-properties
|
||||||
|
default-language: Haskell2010
|
||||||
|
|
||||||
|
-- other-extensions:
|
||||||
|
|
||||||
|
hs-source-dirs: test
|
||||||
|
main-is: TestLSMWrite.hs
|
||||||
|
build-depends:
|
||||||
|
base, hbs2-core, hbs2-storage-simple
|
||||||
|
, async
|
||||||
|
, bytestring
|
||||||
|
, cache
|
||||||
|
, containers
|
||||||
|
, hashable
|
||||||
|
, microlens-platform
|
||||||
|
, mtl
|
||||||
|
, prettyprinter
|
||||||
|
, QuickCheck
|
||||||
|
, quickcheck-instances
|
||||||
|
, random
|
||||||
|
, safe
|
||||||
|
, serialise
|
||||||
|
, stm
|
||||||
|
, streaming
|
||||||
|
, tasty
|
||||||
|
, tasty-quickcheck
|
||||||
|
, tasty-hunit
|
||||||
|
, tasty-quickcheck
|
||||||
|
, transformers
|
||||||
|
, uniplate
|
||||||
|
, vector
|
||||||
|
, filepath
|
||||||
|
, temporary
|
||||||
|
, unliftio
|
||||||
|
, unordered-containers
|
||||||
|
, unix
|
||||||
|
, timeit
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
{-# Language NumericUnderscores #-}
|
||||||
|
module Main where
|
||||||
|
|
||||||
|
import HBS2.Prelude.Plated
|
||||||
|
|
||||||
|
import HBS2.Hash
|
||||||
|
import HBS2.Data.Types.Refs
|
||||||
|
import HBS2.Storage.Compact
|
||||||
|
|
||||||
|
import Data.ByteString.Builder qualified as B
|
||||||
|
import Data.ByteString.Lazy qualified as LBS
|
||||||
|
import Data.ByteString.Char8 qualified as BS8
|
||||||
|
import Data.Function
|
||||||
|
import Streaming.Prelude qualified as S
|
||||||
|
import System.TimeIt
|
||||||
|
import Data.HashSet qualified as HS
|
||||||
|
import Data.HashSet (HashSet)
|
||||||
|
import Data.List qualified as List
|
||||||
|
import UnliftIO
|
||||||
|
import System.Random
|
||||||
|
import Data.Word
|
||||||
|
import Control.Monad
|
||||||
|
import System.Environment
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = do
|
||||||
|
[f] <- getArgs
|
||||||
|
sto <- compactStorageOpen @HbSync mempty f
|
||||||
|
|
||||||
|
for_ [0..10_000_000] $ \i -> do
|
||||||
|
let k = B.toLazyByteString (B.word64BE i) & LBS.toStrict
|
||||||
|
let v = BS8.pack (show k)
|
||||||
|
put sto k v
|
||||||
|
|
||||||
|
compactStorageClose sto
|
||||||
|
|
Loading…
Reference in New Issue