HomeClusterLabs Projects
Diffusion LibQB 48fff5eb58dc

Implement heap based timer list (#439)

Description

Implement heap based timer list (#439)

  • tlist: Add heap based implementation of timer list

Previous timer was sorted list implementation of priority queue
and very slow when number of timers increased. This is mostly
not a problem because usually only few timers are used.
But for application where bigger number of timers are needed
it may become problem.

Solution is to use binary heap based priority queue which is much
faster.

API is unchanged, just timerlist_destroy is added which should be called
to free heap array. This function also destroys mutex (omitted when
mutex was added).

  • tests: Fix check loop mt test

test_th was accesed both by main thread and loop_timer thread resulting in
failure. Fix is to access test_tht in loop_timer thread.

Speed test is adding only 10000 items so it is reasonable
fast even with sorted linked list implementation.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>

Details

Provenance
jfriesseAuthored on Mar 18 2021, 3:27 AM
GitHub <noreply@github.com>Committed on Mar 18 2021, 3:27 AM
Parents
rQ9e1e3a2f4ba5: build: Fix undefined pthread reference. (#440)
Branches
Unknown
Tags
Unknown

Event Timeline