Main.hs (2526B)
1 module Main where 2 3 import Criterion.Main 4 import Fixtures 5 import Lightning.Protocol.BOLT2 6 7 main :: IO () 8 main = case fixtures of 9 Nothing -> fail "invalid fixtures" 10 Just fx -> defaultMain [ 11 bgroup "open_channel" [ 12 bench "encode" $ nf encode_open_channel (fx_open_channel fx) 13 , bench "decode" $ nf decode_open_channel (fx_open_channel_bytes fx) 14 ] 15 , bgroup "accept_channel2" [ 16 bench "encode" $ nf encode_accept_channel2 (fx_accept_channel2 fx) 17 , bench "decode" $ 18 nf decode_accept_channel2 (fx_accept_channel2_bytes fx) 19 ] 20 , bgroup "tx_signatures" [ 21 bench "encode" $ nf encode_tx_signatures (fx_tx_signatures fx) 22 , bench "decode" $ nf decode_tx_signatures (fx_tx_signatures_bytes fx) 23 ] 24 , bgroup "closing_complete" [ 25 bench "encode" $ nf encode_closing_complete (fx_closing_complete fx) 26 , bench "decode" $ 27 nf decode_closing_complete (fx_closing_complete_bytes fx) 28 ] 29 , bgroup "update_add_htlc" [ 30 bench "encode" $ nf encode_update_add_htlc (fx_update_add_htlc fx) 31 , bench "decode" $ 32 nf decode_update_add_htlc (fx_update_add_htlc_bytes fx) 33 , bench "encode_message" $ 34 nf encode_message (MsgUpdateAddHtlc (fx_update_add_htlc fx)) 35 , bench "decode_message" $ 36 nf decode_message (fx_update_add_htlc_wire fx) 37 ] 38 , bgroup "update_fulfill_htlc" [ 39 bench "encode" $ 40 nf encode_update_fulfill_htlc (fx_update_fulfill_htlc fx) 41 , bench "decode" $ 42 nf decode_update_fulfill_htlc (fx_update_fulfill_htlc_bytes fx) 43 ] 44 , bgroup "commitment_signed" [ 45 bench "encode (0 htlcs)" $ 46 nf encode_commitment_signed (fx_commitment_signed fx) 47 , bench "decode (0 htlcs)" $ 48 nf decode_commitment_signed (fx_commitment_signed_bytes fx) 49 , bench "encode (483 htlcs)" $ 50 nf encode_commitment_signed (fx_commitment_signed_483 fx) 51 , bench "decode (483 htlcs)" $ 52 nf decode_commitment_signed (fx_commitment_signed_483_bytes fx) 53 ] 54 , bgroup "revoke_and_ack" [ 55 bench "encode" $ nf encode_revoke_and_ack (fx_revoke_and_ack fx) 56 , bench "decode" $ 57 nf decode_revoke_and_ack (fx_revoke_and_ack_bytes fx) 58 ] 59 , bgroup "channel_reestablish" [ 60 bench "encode" $ 61 nf encode_channel_reestablish (fx_channel_reestablish fx) 62 , bench "decode" $ 63 nf decode_channel_reestablish (fx_channel_reestablish_bytes fx) 64 ] 65 ]