[Babel-users] [PATCH 6/6] babeld-whole: Enable single unit compilation of all of babeld

Juliusz Chroboczek jch at irif.fr
Thu Mar 9 19:16:58 UTC 2017


> I'm also considerably more pessimistic about link-time optimizations
> vs whole program ones.

Only benchmarks will tell.

As to babeld itself, there's enough low-hanging fruit at the algorithmic
level so that I don't bother with compiler optimisations.  In particular,
the naive symmetric difference in xroute.c really needs fixing.

If anyone wants to try their hand at it -- I'm speaking about the
quadratic algorithm at xroute.c:304.  There's an easy fix -- the xroutes
array is already sorted, so you just need to sort routes and then walk the
two arrays in parallel.  Reduces O(n*m) to O(n log n + m).

The more extensive fix is to get kernel_netlink.c to send deltas instead
of full dumps, but that is more difficult.  Finally, Dave has suggested
compiling babeld's filters into BPF and only receiving required routes,
but I believe that this kind of work should be done in BIRD, not in
babeld.

-- Juliusz



More information about the Babel-users mailing list