You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
checkasm: Print benchmarks of C-only functions
This corresponds to commit 9278a14cf406f8edb5052c42b83750112bf5b515 in dav1d. Omitting the C-only functions doesn't speed up benchmarking anyway (as those has to be benchmarked before we know if we have any corresponding assembly functions), and being able to benchmark those functions without corresponding assembly can be valuable in a number of cases. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
@@ -631,14 +631,13 @@ static inline double avg_cycles_per_call(const CheckasmPerf *const p)
|
|||||||
static void print_benchs(CheckasmFunc *f)
|
static void print_benchs(CheckasmFunc *f)
|
||||||
{
|
{
|
||||||
if (f) {
|
if (f) {
|
||||||
print_benchs(f->child[0]);
|
|
||||||
|
|
||||||
/* Only print functions with at least one assembly version */
|
|
||||||
if (f->versions.cpu || f->versions.next) {
|
|
||||||
CheckasmFuncVersion *v = &f->versions;
|
CheckasmFuncVersion *v = &f->versions;
|
||||||
const CheckasmPerf *p = &v->perf;
|
const CheckasmPerf *p = &v->perf;
|
||||||
const double baseline = avg_cycles_per_call(p);
|
const double baseline = avg_cycles_per_call(p);
|
||||||
double decicycles;
|
double decicycles;
|
||||||
|
|
||||||
|
print_benchs(f->child[0]);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (p->iterations) {
|
if (p->iterations) {
|
||||||
p = &v->perf;
|
p = &v->perf;
|
||||||
@@ -658,7 +657,6 @@ static void print_benchs(CheckasmFunc *f)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while ((v = v->next));
|
} while ((v = v->next));
|
||||||
}
|
|
||||||
|
|
||||||
print_benchs(f->child[1]);
|
print_benchs(f->child[1]);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user