binrep-1.1.0: bench/Main.hs
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Gauge
import Binrep
import Binrep.Generic
import Binrep.Type.NullTerminated
import Data.ByteString qualified as B
import Refined
import GHC.Generics ( Generic )
import Data.Word
{-
data X = X Word8 Word16 Word8
deriving stock (Generic)
instance Put X where put = putGeneric c
instance Put' X where put' = put'Generic
instance BLen X where blen _ = 4
-}
data X3
= X31 Word8
| X32 Word8
| X33 Word8 (NullTerminated B.ByteString) X3
deriving stock (Generic)
instance BLen X3 where blen = blenGenericSum $ blen . nullTermCstrPfxTag
instance Put X3 where put = putGenericSum $ put . nullTermCstrPfxTag
x33 :: X3
x33 =
X33 001 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X33 002 $$(refineTH "hi, cstring here")
$ X33 003 $$(refineTH "hi, cstring here")
$ X33 004 $$(refineTH "hi, cstring here")
$ X33 005 $$(refineTH "hi, cstring here")
$ X33 006 $$(refineTH "hi, cstring here")
$ X33 007 $$(refineTH "hi, cstring here")
$ X32 008
main :: IO ()
main = defaultMain
[ bgroup "tiny"
[ bench "put" $ whnf Binrep.runPut x33
]
]