Evaluate efficiency of queues and data structures
We use very simple/dumb implementations of primitives such as queues (simple_queue
), lists (C linked lists), and hash tables (simplehtab
), which might become a bottleneck in some cases.
There are off-the-shelf alternatives such as klib for lists, trees, and hash tables. For the queues we already use a pipe
as second option in the AAP 1.0 and 2.0 agents. Another option for queues without calling into the kernel: https://github.com/git-blame/pipe
We should benchmark the different options, check whether there are performance impacts anywhere, and potentially replace the existing simple solutions.
Edited by Felix Walter