From 89e0a70c6ce7bcd42292fffbfbb380d1c1cbaa3f Mon Sep 17 00:00:00 2001 From: Yingchi Long Date: Tue, 21 Jan 2025 15:57:22 +0800 Subject: [PATCH] bin/cpubench: support benchmarks setting --- assets/CPUBenchTemplate.ini | 2 +- src/bin/cpubench.ts | 2 +- src/cpubench/index.ts | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/assets/CPUBenchTemplate.ini b/assets/CPUBenchTemplate.ini index 9bbb4fb..55937e1 100644 --- a/assets/CPUBenchTemplate.ini +++ b/assets/CPUBenchTemplate.ini @@ -13,7 +13,7 @@ #===================================================================== [common] action = standard # options: standard, build, run, clean -benchmarks = IntSingle,FloatSingle +benchmarks = @@BENCHMARKS@@ #IntSingle #benchmarks = x264,gcc,gzip,tpcc,tpch,velvet,openssl,rapidjson,python,xz diff --git a/src/bin/cpubench.ts b/src/bin/cpubench.ts index 6284c11..9c974c1 100644 --- a/src/bin/cpubench.ts +++ b/src/bin/cpubench.ts @@ -55,6 +55,7 @@ const cpubenchConfig = cpubench.renderConfig({ ...optimizeOptions({ optimize: argv.optimize as OptimizeOptions["optimize"] }) ], sysroot: argv.sysroot, + benchmarks: argv.benchmarks as cpubench.CPUBenchConfigOptions["benchmarks"], }); const uuid = randomUUID(); @@ -70,7 +71,6 @@ const systemdArgs = [ path.resolve(cpubenchDir, 'cpubench.sh'), `--config=${configFile}`, "--skip_verify=1", - ...argv.benchmarks.map(x => `-b=${x}`), "--rebuild=1", "-i=1" ]; diff --git a/src/cpubench/index.ts b/src/cpubench/index.ts index 4c85dfc..4a082af 100644 --- a/src/cpubench/index.ts +++ b/src/cpubench/index.ts @@ -5,11 +5,13 @@ export interface CPUBenchConfigOptions { llvmInstall: string; optimize: string[]; sysroot: string; + benchmarks: string[]; } -export function renderConfig({ llvmInstall, optimize, sysroot }: CPUBenchConfigOptions) { +export function renderConfig({ llvmInstall, optimize, sysroot, benchmarks }: CPUBenchConfigOptions) { return `# Rendered from TypeScript ${new Date().toLocaleString()}, do not edit!\n` + cpuBenchTemplate .replace('@@LLVM_INSTALL@@', llvmInstall) .replace('@@OPTIMIZE@@', optimize.join(' ')) - .replace('@@SYSROOT@@', sysroot); + .replace('@@SYSROOT@@', sysroot) + .replace('@@BENCHMARKS@@', benchmarks.join(',')); }