diff options
author | Ganesh Ajjanagadde <gajjanagadde@gmail.com> | 2016-01-11 17:09:44 -0500 |
---|---|---|
committer | Ganesh Ajjanagadde <gajjanagadde@gmail.com> | 2016-01-11 17:20:38 -0500 |
commit | 07a11ebcab9b31e9fc784029e5d24e6fbf486ff3 (patch) | |
tree | 4fe2631f3261cf2bb6306f930372a21ba1b28d89 /libavcodec/ac3enc_template.c | |
parent | f6e1c96730ebbcebbd0341329d51d3d3a36b4fa1 (diff) | |
download | ffmpeg-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