aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/gsmdec.c
diff options
context:
space:
mode:
authorHenrik Gramner <henrik@gramner.com>2015-09-25 18:56:00 +0200
committerHenrik Gramner <henrik@gramner.com>2015-09-26 15:11:11 +0200
commit2ab65b652dc5e69fb738f1afdc55f7a2f9cbc0e0 (patch)
treee4a7148f1a80644621e848a31d72ce19213442ec /libavformat/gsmdec.c
parent2d221d9e069e6269cb41f3678f2734800171d87b (diff)
downloadffmpeg-2ab65b652dc5e69fb738f1afdc55f7a2f9cbc0e0.tar.gz
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.
Diffstat (limited to 'libavformat/gsmdec.c')
0 files changed, 0 insertions, 0 deletions