core-lightning/gossipd
Rusty Russell 66dcba099d gossipd: hand raw pubkeys in getnodes and getchannels entries.
We spend quite a bit of time in libsecp256k1 moving them to and from
DER encoding.  With a bit of care, we can transfer the raw bytes from
gossipd and manually decode them so a malformed one can't make us
abort().

Before:
	real	0m0.629000-0.695000(0.64985+/-0.019)s

After:
	real	0m0.359000-0.433000(0.37645+/-0.023)s

At this point, the main issues are 11% of time spent in ccan/io's
backend_wake (I tried using a hash table there, but that actually makes
the small-number-of-fds case slower), and 65% of gossipd's time is
in marshalling the response (all those tal_resize add up!).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-10-19 22:02:11 +00:00
..
test gossipd: parse and respect optional htlc_maximum_msat 2018-10-09 23:22:52 +00:00
broadcast.c broadcast: don't leak in broadcast_del. 2018-08-24 19:54:32 +02:00
broadcast.h gossip: Have the broadcast_state track its message count 2018-06-09 13:38:46 +02:00
gossip_constants.h gossipd: parse and respect optional htlc_maximum_msat 2018-10-09 23:22:52 +00:00
gossip_store.c Revert "gossipd: handle premature node_announcements in the store." 2018-09-21 17:56:15 +02:00
gossip_store.csv gossip_store: Save local_add_channel messages and replay them 2018-04-22 12:50:34 +02:00
gossip_store.h gossipd: invalidate old gossip_stores. 2018-09-21 17:56:15 +02:00
gossip_wire.csv BOLT7: broadcast htlc_maximum_msat in `channel_update s 2018-10-16 03:32:27 +00:00
gossipd.c gossipd: hand raw pubkeys in getnodes and getchannels entries. 2018-10-19 22:02:11 +00:00
Makefile hsmd: rename hsm_client_wire_csv to hsm_wire.csv 2018-09-20 09:49:39 +02:00
routing.c gossip: reject channel_update with invalid htlc_max_msat 2018-10-09 23:22:52 +00:00
routing.h gossipd: use u64 for htlc_minimum_msat field 2018-10-09 23:22:52 +00:00