FFmpeg/libavcodec
Ganesh Ajjanagadde 07a11ebcab 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>
2016-01-11 17:20:38 -05:00
..
2015-12-04 02:35:42 +01:00
2015-12-15 22:45:15 -05:00
2015-12-21 17:23:38 +00:00
2015-12-19 09:32:53 -08:00
2015-12-19 09:32:53 -08:00
2015-11-30 18:29:57 -05:00
2015-11-22 16:16:16 -05:00
2015-10-29 21:26:43 +01:00
2016-01-06 16:43:06 +00:00
2015-11-21 08:51:49 -05:00
2016-01-10 16:28:14 +01:00
2016-01-10 16:28:14 +01:00
2015-11-30 10:58:46 -05:00
2015-10-13 16:03:04 +02:00
2015-12-26 20:29:22 -08:00
2015-10-26 10:08:01 +01:00
2015-12-18 18:08:00 +01:00
2015-12-07 16:10:51 +01:00
2015-10-09 22:09:08 +02:00
2015-10-25 22:48:04 +01:00
2015-12-05 21:11:52 +01:00
2015-12-05 21:11:52 +01:00
2015-12-20 21:31:55 +01:00
2015-11-20 08:20:13 -05:00
2016-01-06 16:43:06 +00:00
2015-10-11 17:29:50 -03:00
2016-01-10 12:49:35 +01:00
2015-11-30 23:31:12 +01:00
2015-10-26 23:23:59 -07:00
2015-12-21 11:14:02 +01:00
2015-10-09 22:09:08 +02:00
2015-12-22 12:54:23 +01:00
2016-01-06 16:43:06 +00:00
2015-12-07 09:25:02 +01:00