ffmpeg/tests/checkasm
Henrik Gramner 5405584b7b checkasm: Use a self-balancing tree
Tested functions are internally kept in a binary search tree for efficient
lookups. The downside of the current implementation is that the tree quickly
becomes unbalanced which causes an unneccessary amount of comparisons between
nodes. Improve this by changing the tree into a self-balancing left-leaning
red-black tree with a worst case lookup/insertion time complexity of O(log n).

Significantly reduces the recursion depth and makes the tests run around 10%
faster overall. The relative performance improvement compared to the existing
non-balanced tree will also most likely increase as more tests are added.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-09-28 11:16:33 +02:00
..
x86 checkasm: Fix floating point arguments on 64-bit Windows 2015-08-28 09:54:54 +02:00
Makefile checkasm: add unit tests for v210enc 2015-09-06 10:36:24 +02:00
bswapdsp.c checkasm: Explicitly declare function prototypes 2015-08-20 19:22:34 +02:00
checkasm.c checkasm: Use a self-balancing tree 2015-09-28 11:16:33 +02:00
checkasm.h checkasm: add unit tests for v210enc 2015-09-06 10:36:24 +02:00
h264pred.c checkasm: Explicitly declare function prototypes 2015-08-20 19:22:34 +02:00
h264qpel.c checkasm: Explicitly declare function prototypes 2015-08-20 19:22:34 +02:00
v210enc.c checkasm: v210: Fix array overwrite 2015-09-17 10:33:06 +02:00