Weight.hs (1824B)
1 -- | 2 -- Module: Main 3 -- Copyright: (c) 2025 Jared Tobin 4 -- License: MIT 5 -- Maintainer: Jared Tobin <jared@ppad.tech> 6 -- 7 -- Weigh allocation benchmarks for ppad-bolt7. 8 9 module Main where 10 11 import Fixtures 12 import Lightning.Protocol.BOLT7 13 import System.Exit (exitFailure) 14 import Weigh 15 16 main :: IO () 17 main = case fixtures of 18 Nothing -> putStrLn "fixtures failed to build" >> exitFailure 19 Just f -> mainWith $ do 20 wgroup "decode" $ do 21 func "channel_announcement" decode_channel_announcement (f_ann_bytes f) 22 func "node_announcement" decode_node_announcement (f_node_bytes f) 23 func "channel_update" decode_channel_update (f_upd_bytes f) 24 func "query_short_channel_ids (1000 ids, flags)" 25 decode_query_short_channel_ids (f_qsci_bytes f) 26 func "reply_channel_range (1000 ids, timestamps, checksums)" 27 decode_reply_channel_range (f_rcr_bytes f) 28 wgroup "encode" $ do 29 func "channel_announcement" encode_channel_announcement (f_ann f) 30 func "node_announcement" encode_node_announcement (f_node f) 31 func "channel_update" encode_channel_update (f_upd f) 32 func "query_short_channel_ids (1000 ids, flags)" 33 encode_query_short_channel_ids (f_qsci f) 34 func "reply_channel_range (1000 ids, timestamps, checksums)" 35 encode_reply_channel_range (f_rcr f) 36 wgroup "hash" $ do 37 func "channel_announcement_hash" channel_announcement_hash (f_ann f) 38 func "channel_update_hash" channel_update_hash (f_upd f) 39 func "channel_update_checksum" channel_update_checksum (f_upd f) 40 wgroup "verify" $ do 41 func "verify_channel_announcement" verify_channel_announcement (f_ann f) 42 func "verify_node_announcement" verify_node_announcement (f_node f) 43 func "verify_channel_update" 44 (verify_channel_update (f_upd_key f)) (f_upd f)