wip, lsm test

This commit is contained in:
Dmitry Zuikov 2024-06-12 10:02:46 +03:00
parent 234767de67
commit 0cc1a9a116
3 changed files with 78 additions and 0 deletions

Binary file not shown.

View File

@ -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

View File

@ -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