3 .\" Manual for bencharking with the test-vector framework
5 .\" (c) 2024 Straylight/Edgeware
8 .\"----- Licensing notice ---------------------------------------------------
10 .\" This file is part of the mLib utilities library.
12 .\" mLib is free software: you can redistribute it and/or modify it under
13 .\" the terms of the GNU Library General Public License as published by
14 .\" the Free Software Foundation; either version 2 of the License, or (at
15 .\" your option) any later version.
17 .\" mLib is distributed in the hope that it will be useful, but WITHOUT
18 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
20 .\" License for more details.
22 .\" You should have received a copy of the GNU Library General Public
23 .\" License along with mLib. If not, write to the Free Software
24 .\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
27 .\"--------------------------------------------------------------------------
28 .so ../defs.man \" @@@PRE@@@
30 .\"--------------------------------------------------------------------------
31 .TH tvec-bench 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
35 .\" @tvec_benchoutputfallback
38 .\"--------------------------------------------------------------------------
40 tvec-bench \- benchmarking with the test vector framework
42 .\"--------------------------------------------------------------------------
46 .B "#include <mLib/tvec-bench.h>"
49 .B "struct tvec_benchenv {"
50 .B " struct tvec_env _env;"
51 .B " struct bench_state **bst;"
52 .B " unsigned long niter;"
53 .B " int riter, rbuf;"
54 .B " const struct tvec_env *env;"
56 .B "#define TVEC_BENCHENV ..."
57 .B "#define TVEC_BENCHINIT ..."
59 .B "struct bench_state *tvec_benchstate;"
61 .B "#define TVEC_BENCHOUTEXT ""tvec-bench"""
64 .B " TVBU_BYTE = ...,"
68 .B "struct tvec_benchoutops {"
69 .BI " void (*" bbench ")(struct tvec_output *" o ", unsigned " unit );
70 .ta 2n +\w'\fBvoid (*\,\fIebench\/\fB)('u
71 .BI " void (*" ebench ")(struct tvec_output *" o ", unsigned " unit ,
72 .BI " const struct bench_timing *" tm );
74 .B "extern const struct tvec_benchoutops tvec_benchoutputfallback;"
76 .ta \w'\fBvoid tvec_benchreport('u
77 .BI "void tvec_benchreport(const struct gprintf_ops *" gops ", void *" go ,
78 .BI " unsigned " unit ", unsigned " style ,
79 .BI " const struct bench_timing *" tm );