tal: simplify.
All the effort trying to keep the header size down to 2 pointers turns
out to be wasted. In addition, getting the parent of a tal pointer is
now much faster.
./samba-allocs talloc.dump --tal-size:
Before:
Virtual size = 9633792, RSS = 3952640
After:
Virtual size = 9793536, RSS = 3948544
And we're much faster now, esp. on free.
./samba-allocs talloc.dump --tal:
Before:
Tal time: 2718068ns
Tal_free time: 3360258ns
Single tal_free time: 1667412ns
After:
Tal time: 2788287ns
Tal_free time: 2290167ns
Single tal_free time: 1566998ns
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Header from folded patch 'tal-fix-set-destroying-bit.patch':
tal: fix destroying bit usage.
Actually looking at a destroying contexts' parent didn't work, and a couple
of places didn't filter out the destroying bit.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
- [D] ccan/tal/test/run-iter.c