restore becnchmark

This commit is contained in:
lyon1998 2022-02-10 23:39:43 +08:00
parent 18731fef65
commit e288e09238
2 changed files with 30 additions and 45 deletions

View File

@ -37,11 +37,12 @@ static void while_loop_10000(benchmark::State& state) {
}
BENCHMARK(while_loop_10000)->Unit(benchmark::kMillisecond);
static void __prime_number_100_handler(void) {
static void prime_number_100(benchmark::State& state) {
int num = 0;
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
/* run */
obj_run(pikaMain, (char *)
for (auto _ : state) {
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
/* run */
obj_run(pikaMain, (char *)
"num = 0\n"
"i = 2\n"
"for i in range(2,100):\n"
@ -54,51 +55,38 @@ static void __prime_number_100_handler(void) {
" if is_prime:\n"
" num = num + i\n"
"\n");
num = obj_getInt(pikaMain, (char*)"num");
if (1060 != num) {
printf("[error]: prime_number_100\r\n");
}
obj_deinit(pikaMain);
}
static void __prime_number_100_c_handler(void) {
int num = 0;
/* run */
for (int i = 2; i < 100; i++) {
int is_prime = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
num = obj_getInt(pikaMain, (char*)"num");
if (1060 != num) {
printf("[error]: prime_number_100\r\n");
}
if (is_prime) {
num = num + i;
}
}
if (1060 != num) {
printf("[error]: prime_number_100\r\n");
obj_deinit(pikaMain);
}
}
BENCHMARK(prime_number_100)->Unit(benchmark::kMillisecond);
static void prime_number_100(benchmark::State& state) {
for (auto _ : state) {
__prime_number_100_handler();
state.PauseTiming();
__prime_number_100_c_handler();
state.ResumeTiming();
}
}
BENCHMARK(prime_number_100)->Unit(benchmark::kMillisecond)->Iterations(20);
static void prime_number_100_c(benchmark::State& state) {
int num = 0;
for (auto _ : state) {
state.PauseTiming();
__prime_number_100_handler();
state.ResumeTiming();
__prime_number_100_c_handler();
num = 0;
/* run */
for (int i = 2; i < 100; i++) {
int is_prime = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
num = num + i;
}
}
if (1060 != num) {
printf("[error]: prime_number_100\r\n");
}
}
}
BENCHMARK(prime_number_100_c)->Unit(benchmark::kMillisecond)->Iterations(20);
BENCHMARK(prime_number_100_c)->Unit(benchmark::kMillisecond);
BENCHMARK_MAIN();

View File

@ -16,14 +16,11 @@ for i in range(len(benchmarks_data)):
benchmarks_data[i]['real_time'] *= cali_ratio
benchmarks_data[i]['family_index'] += 1
# manel cali rate
manul_cali_rate = 1/1.6
# new a banchmark
benchmarks_data.insert(0, benchmarks_data[0].copy())
performance_point_name = 'Performance Points'
performance_point_res = benchmarks_data[-1]['cpu_time'] / \
benchmarks_data[-2]['cpu_time'] * 100 * 100000 * manul_cali_rate
benchmarks_data[-2]['cpu_time'] * 100 * 100000
benchmarks_data[0]['name'] = performance_point_name
benchmarks_data[0]['run_name'] = performance_point_name
benchmarks_data[0]['family_index'] = 0