* @copyright 2024 smiley * @license MIT */ declare(strict_types=1); namespace chillerlan\QRCodeBenchmark; use function array_column; use function array_key_first; use function array_keys; use function array_map; use function array_sum; use function explode; use function implode; use function intdiv; use function rsort; use function sprintf; use function str_repeat; use const SORT_NUMERIC; const BUILDDIR = __DIR__.'/../.build/phpbench'; const FILE = BUILDDIR.'/benchmark'; // without extension function parseVariants(array $variants):string{ $data = []; foreach($variants as $variant){ [$version, $ecc, $mode] = explode(',', $variant['name']); $data[(int)$version][$mode][$ecc] = parseVariantResults($variant['results']); } $v = $data[array_key_first($data)]; $modeKeys = array_keys($v); $eccKeys = array_keys($v[$modeKeys[0]]); $modeHeaders = array_map(fn($mode) => sprintf('
| %s |
|---|
| Version | %s%01.3f | ', $time_avg); } } $table[] = sprintf('
| %s | %s