rgb-cln/common/test
Rusty Russell daba3e7deb common/gossmap: helper to map the gossip store.
I went overboard on optimization.  I am so sorry:
1. Squeezed channel min/max into 16 bits.
2. Uses mmap and leaves node_ids in the file.
3. Uses offsets instead of pointers where possible.
4. Uses custom free-list to allocate inside arrays.
5. Ignores our autogenerated marshalling code in favor of direct derefs.
6. Carefully aligns everything so we use minimal ram.

The result is that the current gossip_store:
 - load time (-O3 -flto laptop): 40msec
 - load time (-g laptop i.e. DEVELOPER=0): 60msec
 - load time (-O0 laptop i.e. DEVELOPER=1): 110msec
 - Total memory: 2.6MB:
   - 1.5MB for the array of channels
   - 512k for the channel htable to map scid -> channel.
   - 320k for the node htable to map nodeid -> node.
   - 192k for the array of channels inside each node
   - 94k for the array of nodes

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-08-28 10:56:50 +09:30
..
Makefile setup: create a common setup which will handle the wally-context 2020-05-19 13:35:42 +09:30
onion-test-v0.json sphinx: Introduce a `runtest` command to the onion tool 2019-07-30 02:14:49 +00:00
run-amount.c psbt: add serialize to/from wire for psbts 2020-05-21 18:45:07 +09:30
run-bigsize.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-bolt11.c bolt11: update ctlv expiry, always write it. 2020-08-24 20:55:47 +09:30
run-cryptomsg.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-derive_basepoints.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-features.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-funding_tx.c tx-psbt: pass in the witness script (if known) when adding an input 2020-06-11 13:13:13 +02:00
run-gossip_rcvd_filter.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-gossmap-fp16.c common/gossmap: helper to map the gossip store. 2020-08-28 10:56:50 +09:30
run-ip_port_parsing.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-json.c common: make json_parse_input API retry friendly. 2020-08-21 09:52:33 +09:30
run-json_remove.c common: add simple json parse wrapper for the complete cases. 2020-08-21 09:52:33 +09:30
run-key_derive.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-lock.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-param.c common/json_tok: expose param_txid. 2020-07-08 21:07:20 +02:00
run-psbt_diff.c bitcoin: make psbt_append_input more powerful. 2020-08-20 21:14:12 +09:30
run-softref.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30
run-sphinx.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09:30