ppad-bolt2-0.1.0: bench/Main.hs
module Main where
import Criterion.Main
import Fixtures
import Lightning.Protocol.BOLT2
main :: IO ()
main = case fixtures of
Nothing -> fail "invalid fixtures"
Just fx -> defaultMain [
bgroup "open_channel" [
bench "encode" $ nf encode_open_channel (fx_open_channel fx)
, bench "decode" $ nf decode_open_channel (fx_open_channel_bytes fx)
]
, bgroup "accept_channel2" [
bench "encode" $ nf encode_accept_channel2 (fx_accept_channel2 fx)
, bench "decode" $
nf decode_accept_channel2 (fx_accept_channel2_bytes fx)
]
, bgroup "tx_signatures" [
bench "encode" $ nf encode_tx_signatures (fx_tx_signatures fx)
, bench "decode" $ nf decode_tx_signatures (fx_tx_signatures_bytes fx)
]
, bgroup "closing_complete" [
bench "encode" $ nf encode_closing_complete (fx_closing_complete fx)
, bench "decode" $
nf decode_closing_complete (fx_closing_complete_bytes fx)
]
, bgroup "update_add_htlc" [
bench "encode" $ nf encode_update_add_htlc (fx_update_add_htlc fx)
, bench "decode" $
nf decode_update_add_htlc (fx_update_add_htlc_bytes fx)
, bench "encode_message" $
nf encode_message (MsgUpdateAddHtlc (fx_update_add_htlc fx))
, bench "decode_message" $
nf decode_message (fx_update_add_htlc_wire fx)
]
, bgroup "update_fulfill_htlc" [
bench "encode" $
nf encode_update_fulfill_htlc (fx_update_fulfill_htlc fx)
, bench "decode" $
nf decode_update_fulfill_htlc (fx_update_fulfill_htlc_bytes fx)
]
, bgroup "commitment_signed" [
bench "encode (0 htlcs)" $
nf encode_commitment_signed (fx_commitment_signed fx)
, bench "decode (0 htlcs)" $
nf decode_commitment_signed (fx_commitment_signed_bytes fx)
, bench "encode (483 htlcs)" $
nf encode_commitment_signed (fx_commitment_signed_483 fx)
, bench "decode (483 htlcs)" $
nf decode_commitment_signed (fx_commitment_signed_483_bytes fx)
]
, bgroup "revoke_and_ack" [
bench "encode" $ nf encode_revoke_and_ack (fx_revoke_and_ack fx)
, bench "decode" $
nf decode_revoke_and_ack (fx_revoke_and_ack_bytes fx)
]
, bgroup "channel_reestablish" [
bench "encode" $
nf encode_channel_reestablish (fx_channel_reestablish fx)
, bench "decode" $
nf decode_channel_reestablish (fx_channel_reestablish_bytes fx)
]
]