Ganesh Ajjanagadde
e11e32686f
avcodec/bitstream: replace qsort with AV_QSORT
...
Commit 3a0a2f33a6c955823fa4fb12c0b49cd29a496659 claims large performance
advantages for AV_QSORT over libc's qsort. The reason is that I suspect
that libc's qsort (at least on non LTO builds, like the typical FFmpeg config)
can't inline the comparison callback:
https://stackoverflow.com/questions/5290695/is-there-any-way-a-c-c-compiler-can-inline-a-c-callback-function .
AV_QSORT has two things going for it:
1. The guaranteed inlining of qsort itself. This yields a negligible
boost that may be ignored.
2. The more serious possibility of potentially allowing the comparison
function to be inlined - this is likely responsible for the large boosts
reported.
There is a comment explaining that this is a place that could use some
performance improvement. Thus AV_QSORT is used to achieve that.
Benchmarks deemed unnecessary due to existing claims about AV_QSORT.
Tested with FATE.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-18 09:22:49 -04:00
..
2015-10-03 23:34:56 +02:00
2015-10-03 23:34:56 +02:00
2015-10-13 17:22:56 +02:00
2015-10-03 23:34:56 +02:00
2015-10-13 20:21:33 -03:00
2015-10-17 02:31:20 +01:00
2015-10-11 17:29:50 -03:00
2015-10-12 16:57:56 +01:00
2015-10-17 02:31:20 +01:00
2015-10-15 13:48:55 -04:00
2015-10-15 13:48:55 -04:00
2015-10-15 14:00:24 -04:00
2015-10-17 02:31:20 +01:00
2015-10-11 17:29:50 -03:00
2015-10-11 17:29:50 -03:00
2015-10-17 22:53:11 +01:00
2015-10-17 02:31:20 +01:00
2015-10-17 02:31:20 +01:00
2015-10-17 02:31:20 +01:00
2015-10-12 03:56:22 -03:00
2015-10-12 15:41:50 +01:00
2015-10-17 11:10:26 +01:00
2015-10-17 11:10:26 +01:00
2015-10-17 03:17:27 +01:00
2015-10-17 18:58:11 +02:00
2015-10-17 02:31:20 +01:00
2015-10-17 03:17:27 +01:00
2015-10-11 18:06:02 -03:00
2015-10-17 02:31:20 +01:00
2015-10-10 14:43:22 +02:00
2015-10-18 14:17:15 +02:00
2015-10-06 20:22:00 -03:00
2015-10-06 20:22:00 -03:00
2015-10-06 20:22:00 -03:00
2015-10-16 16:37:40 +02:00
2015-10-03 23:04:23 +02:00
2015-10-08 23:29:18 +02:00
2015-10-16 16:37:40 +02:00
2015-10-10 10:41:10 -05:00
2015-10-18 09:22:49 -04:00
2015-10-02 04:38:40 +02:00
2015-10-03 23:34:56 +02:00
2015-10-10 09:52:18 +02:00
2015-10-10 09:52:18 +02:00
2015-10-10 09:52:18 +02:00
2015-10-16 16:37:40 +02:00
2015-10-05 11:18:31 +02:00
2015-10-10 09:32:59 +02:00
2015-10-10 09:32:59 +02:00
2015-10-13 16:03:04 +02:00
2015-10-15 02:46:29 +02:00
2015-10-15 02:46:29 +02:00
2015-10-15 02:46:29 +02:00
2015-10-15 02:46:29 +02:00
2015-10-05 11:21:23 +02:00
2015-10-05 11:25:40 +02:00
2015-10-05 11:21:23 +02:00
2015-10-14 23:02:00 +02:00
2015-10-14 23:02:00 +02:00
2015-10-14 23:02:00 +02:00
2015-10-14 23:02:00 +02:00
2015-10-04 12:47:34 -04:00
2015-10-17 02:18:22 +02:00
2015-10-16 22:25:20 +02:00
2015-10-04 12:47:34 -04:00
2015-10-11 18:03:10 -04:00
2015-10-10 09:13:32 +02:00
2015-10-09 22:09:08 +02:00
2015-10-05 11:27:07 +02:00
2015-10-04 13:07:12 +02:00
2015-10-10 01:37:00 +02:00
2015-10-03 11:55:23 +02:00
2015-10-15 20:19:55 +02:00
2015-10-14 23:06:06 +02:00
2015-10-14 23:06:06 +02:00
2015-10-10 09:52:18 +02:00
2015-10-04 12:47:34 -04:00
2015-10-12 00:21:13 +02:00
2015-10-02 14:07:14 +01:00
2015-10-15 22:00:49 +02:00
2015-10-07 17:09:13 +03:00
2015-10-10 09:58:42 +02:00
2015-10-14 15:00:53 +02:00
2015-10-14 15:00:53 +02:00
2015-10-14 15:00:53 +02:00
2015-10-15 15:47:16 +02:00
2015-10-17 02:31:20 +01:00
2015-10-11 17:29:50 -03:00
2015-10-04 12:47:34 -04:00
2015-10-14 15:01:54 +02:00
2015-10-09 20:58:07 +02:00
2015-10-05 12:04:40 +02:00
2015-10-04 12:47:34 -04:00
2015-10-16 17:45:09 +02:00
2015-09-30 15:57:41 +02:00
2015-10-03 09:52:39 +02:00
2015-10-03 09:52:39 +02:00
2015-10-18 11:55:40 +02:00
2015-10-13 00:01:39 +02:00
2015-10-16 18:24:10 +02:00
2015-10-03 16:34:03 +02:00
2015-10-11 16:39:41 +02:00
2015-10-07 04:50:16 +02:00
2015-10-11 18:06:02 -03:00
2015-10-11 17:29:50 -03:00
2015-10-09 09:56:08 -04:00
2015-10-15 15:47:16 +02:00
2015-10-15 15:47:16 +02:00
2015-10-15 15:47:16 +02:00
2015-10-15 15:47:16 +02:00
2015-10-01 16:12:33 +02:00
2015-10-14 14:56:16 +02:00
2015-10-05 11:30:53 +02:00
2015-10-03 12:22:41 +02:00
2015-10-13 02:10:51 +02:00
2015-10-13 02:10:51 +02:00
2015-10-11 18:40:28 +02:00
2015-10-03 09:52:39 +02:00
2015-10-03 09:52:39 +02:00
2015-10-09 21:38:15 +02:00
2015-10-09 21:38:15 +02:00
2015-10-09 21:38:15 +02:00
2015-10-04 23:07:44 +02:00
2015-10-16 16:37:40 +02:00
2015-10-09 22:09:08 +02:00
2015-10-16 16:37:40 +02:00
2015-10-02 19:09:16 +02:00
2015-10-04 12:47:34 -04:00
2015-10-04 12:47:34 -04:00
2015-10-15 13:02:23 +02:00
2015-10-16 14:53:41 +02:00
2015-10-15 13:02:23 +02:00
2015-10-15 13:02:20 +02:00
2015-10-04 12:47:34 -04:00
2015-10-12 22:04:05 +02:00
2015-10-16 23:04:46 +02:00
2015-10-09 19:01:08 -04:00