> Well, I took a stab at some of that. In particular, babeld has to compare > a lot of bytes, and while profiling it on these loads, was totally > bottlenecked on memcmp.
Yep, the code in xroute.c is pretty pessimal, since I wan't expecting people to have massive numbers of redistributed routes. That's easily fixed, though. Note that this does not apply to normal routes (learned from other Babel speakers) -- if your profiling shows any hotspots in route.c, then I'm interested. > And - setting a goal for 64k routes - I thought that switching to > a normalized table structure internally would be useful. Instead of > storing the nexthop as a full address store an 16 bit index pointing to > an array of those nexthops. We already do (except that we use a pointer rather than an integer index), see struct route in route.h. > We could write a roadmap for "better wifi mesh networking", but it > starts with "more bodies". Hehe. > * walking linked lists Hm. If you're seeing that in your profiles, then your network is very dense -- only redundant (unused) routes are kept in linked lists. May I see your profile, please? > * running out of bandwidth I think it's the bursty nature of the traffic that kills you, not the average throughput. I'll definitely be working on that, but I first need to reproduce your results in a controlled situation. > * recalcing bellman-ford That shouldn't cost much, since the computation is incremental. If it does, I need to see your profile. -- Juliusz _______________________________________________ Babel-users mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users
