agora/agora-bench/Main.hs
2022-05-26 09:50:46 -05:00

37 lines
1.3 KiB
Haskell

module Main (main) where
import Bench (specificationTreeToBenchmarks)
import Data.Csv (encodeDefaultOrderedByName)
import Data.Text.Lazy.Encoding (decodeUtf8)
import Data.Text.Lazy.IO as I
import Spec.AuthorityToken qualified as AuthorityToken
import Spec.Effect.GovernorMutation qualified as GovernorMutation
import Spec.Effect.TreasuryWithdrawal qualified as TreasuryWithdrawal
import Spec.Governor qualified as Governor
import Spec.Proposal qualified as Proposal
import Spec.Spec (group)
import Spec.Stake qualified as Stake
import Spec.Treasury qualified as Treasury
import Prelude
--------------------------------------------------------------------------------
main :: IO ()
main = do
I.writeFile "bench.csv" $
(decodeUtf8 . encodeDefaultOrderedByName) $
specificationTreeToBenchmarks $
group
"Benchmark"
[ group
"Effects"
[ group "Treasury Withdrawal Effect" TreasuryWithdrawal.specs
, group "Governor Mutation Effect" GovernorMutation.specs
]
, group "Stake" Stake.specs
, group "Proposal" Proposal.specs
, group "AuthorityToken" AuthorityToken.specs
, group "Treasury" Treasury.specs
, group "AuthorityToken" AuthorityToken.specs
, group "Governor" Governor.specs
]