.\" -*-nroff-*- .\" .\" Manual for bencharking with the test-vector framework .\" .\" (c) 2024 Straylight/Edgeware .\" . .\"----- Licensing notice --------------------------------------------------- .\" .\" This file is part of the mLib utilities library. .\" .\" mLib is free software: you can redistribute it and/or modify it under .\" the terms of the GNU Library General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or (at .\" your option) any later version. .\" .\" mLib is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public .\" License for more details. .\" .\" You should have received a copy of the GNU Library General Public .\" License along with mLib. If not, write to the Free Software .\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, .\" USA. . .\"-------------------------------------------------------------------------- .so ../defs.man \" @@@PRE@@@ . .\"-------------------------------------------------------------------------- .TH tvec-bench 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library" .\" @TVEC_BENCHENV .\" @TVEC_BENCHINIT .\" @tvec_benchstate .\" @tvec_benchoutputfallback .\" @tvec_benchreport . .\"-------------------------------------------------------------------------- .SH NAME tvec-bench \- benchmarking with the test vector framework . .\"-------------------------------------------------------------------------- .SH SYNOPSIS . .nf .B "#include " .PP .ta 2n .B "struct tvec_benchenv {" .B " struct tvec_env _env;" .B " struct bench_state **bst;" .B " unsigned long niter;" .B " int riter, rbuf;" .B " const struct tvec_env *env;" .B "};" .B "#define TVEC_BENCHENV ..." .B "#define TVEC_BENCHINIT ..." .PP .B "struct bench_state *tvec_benchstate;" .PP .B "#define TVEC_BENCHOUTEXT ""tvec-bench""" .B "enum {" .B " TVBU_OP = ...," .B " TVBU_BYTE = ...," .B " ...," .B " TVBU_LIMIT" .B "};" .B "struct tvec_benchoutops {" .BI " void (*" bbench ")(struct tvec_output *" o ", unsigned " unit ); .ta 2n +\w'\fBvoid (*\,\fIebench\/\fB)('u .BI " void (*" ebench ")(struct tvec_output *" o ", unsigned " unit , .BI " const struct bench_timing *" tm ); .B "};" .B "extern const struct tvec_benchoutops tvec_benchoutputfallback;" .PP .ta \w'\fBvoid tvec_benchreport('u .BI "void tvec_benchreport(const struct gprintf_ops *" gops ", void *" go , .BI " unsigned " unit ", unsigned " style , .BI " const struct bench_timing *" tm ); .fi