aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ac3enc_template.c
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2016-01-11 17:09:44 -0500
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>2016-01-11 17:20:38 -0500
commit07a11ebcab9b31e9fc784029e5d24e6fbf486ff3 (patch)
tree4fe2631f3261cf2bb6306f930372a21ba1b28d89 /libavcodec/ac3enc_template.c
parentf6e1c96730ebbcebbd0341329d51d3d3a36b4fa1 (diff)
downloadffmpeg-07a11ebcab9b31e9fc784029e5d24e6fbf486ff3.tar.gz
lavc/cbrt_tablegen: speed up tablegen
This exploits an approach based on the sieve of Eratosthenes, a popular method for generating prime numbers. Tables are identical to previous ones. Tested with FATE with/without --enable-hardcoded-tables. Sample benchmark (Haswell, GNU/Linux+gcc): prev: 7860100 decicycles in cbrt_tableinit, 1 runs, 0 skips 7777490 decicycles in cbrt_tableinit, 2 runs, 0 skips [...] 7582339 decicycles in cbrt_tableinit, 256 runs, 0 skips 7563556 decicycles in cbrt_tableinit, 512 runs, 0 skips new: 2099480 decicycles in cbrt_tableinit, 1 runs, 0 skips 2044470 decicycles in cbrt_tableinit, 2 runs, 0 skips [...] 1796544 decicycles in cbrt_tableinit, 256 runs, 0 skips 1791631 decicycles in cbrt_tableinit, 512 runs, 0 skips Both small and large run count given as this is called once so small run count may give a better picture, small numbers are fairly consistent, and there is a consistent downward trend from small to large runs, at which point it stabilizes to a new value. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Diffstat (limited to 'libavcodec/ac3enc_template.c')
0 files changed, 0 insertions, 0 deletions