packages feed

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)
      ]
    ]