I think I found your optimization for "3" from those years back - RESEND_MAX = 3?
'cause 92.52 18.17 18.17 38243948 0.00 0.00 find_resend 1.88 18.54 0.37 2167210 0.00 0.00 find_route_slot 1.22 18.78 0.24 42087697 0.00 0.00 timeval_minus_msec 0.66 18.91 0.13 9229 0.01 1.98 recompute_resend_time 0.31 18.97 0.06 672 0.09 8.32 update_neighbour_metric fix with binary search? timer wheel? ? as a side note: You will be pleased to know that, merely 15 years after posix 2003 obsoleted bcmp, that gcc 7 (and llvm) actually does do the right thing with turning memcmp(a,b,16) ==0 into something better than a human can write. on x86_64 it generates my beloved xors, but reloads the regs for the constant prefix being compared. on mips it generates some pretty branchy code but has much better register reuse. The gcc optimization is based on the idea that most of the time a compare has a difference in under 7 bytes. prior to 7, no (openwrt is gcc 7, ubuntu 16.x is 5.3). I'd definitely inline v4mapped in util.h though (says this increasingly decrepit old assembly language programmer). I have a couple other "better" fixes that fell out of it (notably reorging multiple structures to have less holes and better alignment on 64 bit arches, checking for ENOBUFS), and yep, lots of routes does you in Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::230:18ff:fec9:de9c Late hello: bufferbloated neighbor fe80::230:18ff:fec9:de9c Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::f6f2:6dff:feb6:a01c Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::46d9:e7ff:fe93:822e Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 Late hello: bufferbloated neighbor fe80::e091:f5ff:febe:a353 -- Dave Täht CTO, TekLibre, LLC http://www.teklibre.com Tel: 1-831-205-9740 _______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
