提交 85628dc5 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Merge branch 'old-types' into scale-amd64

...@@ -67,6 +67,17 @@ struct LoopsBench : public Bench ...@@ -67,6 +67,17 @@ struct LoopsBench : public Bench
LoopsBench(const char *cmd, int nloops, int cpuinc) : LoopsBench(const char *cmd, int nloops, int cpuinc) :
Bench(), cmd_(cmd), nloops_(nloops), cpuinc_(cpuinc) {} Bench(), cmd_(cmd), nloops_(nloops), cpuinc_(cpuinc) {}
char* runone(int ncore, const char** argv, char *res, int n) {
char cores[16];
snprintf(cores, sizeof(cores), "%u", ncore);
argv[1] = cores;
u64 r = time_this(argv);
// r in usecs
r = (r*(1000*1000)) / cpuhz();
snprintf(res, n, "%u %lu %lu\n", ncore, r, nloops_);
return res + strlen(res);
}
virtual void run(void) { virtual void run(void) {
char nloopstr[16]; char nloopstr[16];
snprintf(nloopstr, sizeof(nloopstr), "%u", nloops_); snprintf(nloopstr, sizeof(nloopstr), "%u", nloops_);
...@@ -78,16 +89,9 @@ struct LoopsBench : public Bench ...@@ -78,16 +89,9 @@ struct LoopsBench : public Bench
snprintf(res, q-res, "#cores usecs loops/core\n"); snprintf(res, q-res, "#cores usecs loops/core\n");
res += strlen(res); res += strlen(res);
for (int i = cpuinc_; i <= NCPU; i += cpuinc_) { res = runone(1, argv, res, q-res);
char cores[16]; for (int i = cpuinc_; i <= NCPU; i += cpuinc_)
snprintf(cores, sizeof(cores), "%u", i); res = runone(i, argv, res, q-res);
argv[1] = cores;
u64 r = time_this(argv);
// r in usecs
r = (r*(1000*1000)) / cpuhz();
snprintf(res, q-res, "%u %lu %lu\n", i, r, nloops_);
res += strlen(res);
}
} }
virtual char* result(void) { virtual char* result(void) {
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论