This commit is contained in:
parent
65a7e3f6ed
commit
c2d5d136fd
|
@ -1395,15 +1395,16 @@ beebsc.c.home.tyy.works.xiuos.APP_Framework.Applications.benchmark.o: \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stdlib.h
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stdlib.h
|
||||||
benchmark.c.home.tyy.works.xiuos.APP_Framework.Applications.benchmark.o: \
|
benchmark.c.home.tyy.works.xiuos.APP_Framework.Applications.benchmark.o: \
|
||||||
support/benchmark.c \
|
support/benchmark.c \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stdio.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stddef.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/config.h \
|
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/sys/types.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/sys/types.h \
|
||||||
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/config.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/compiler.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/compiler.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stdint.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stdint.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/arch/types.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/arch/types.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/arch/inttypes.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/arch/inttypes.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/limits.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/limits.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/arch/limits.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/arch/limits.h \
|
||||||
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stdio.h \
|
||||||
/usr/bin/riscv64-unknown-elf-gcc-bank/lib/gcc/riscv64-unknown-elf/10.2.0/include/stdarg.h \
|
/usr/bin/riscv64-unknown-elf-gcc-bank/lib/gcc/riscv64-unknown-elf/10.2.0/include/stdarg.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/time.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/time.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/fs/fs.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/fs/fs.h \
|
||||||
|
@ -1417,7 +1418,6 @@ benchmark.c.home.tyy.works.xiuos.APP_Framework.Applications.benchmark.o: \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/sched.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/sched.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/strings.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/strings.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/string.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/string.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stddef.h \
|
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/queue.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/queue.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/signal.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/signal.h \
|
||||||
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/irq.h \
|
/home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/irq.h \
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <support.h>
|
#include <support.h>
|
||||||
|
@ -39,7 +40,7 @@ typedef struct BenchmarkPair {
|
||||||
benchmark_handle *handle;
|
benchmark_handle *handle;
|
||||||
char name[15];
|
char name[15];
|
||||||
pthread_t task_ptr;
|
pthread_t task_ptr;
|
||||||
clock_t time;
|
uint64_t time;
|
||||||
} BenchmarkPair;
|
} BenchmarkPair;
|
||||||
|
|
||||||
BenchmarkPair bmh_list[] = {
|
BenchmarkPair bmh_list[] = {
|
||||||
|
@ -68,7 +69,7 @@ BenchmarkPair bmh_list[] = {
|
||||||
{.handle = NULL, .name = "", .time = 0}, //
|
{.handle = NULL, .name = "", .time = 0}, //
|
||||||
};
|
};
|
||||||
|
|
||||||
clock_t benchmark_time[25];
|
uint64_t benchmark_time[25];
|
||||||
|
|
||||||
pthread_attr_t case_attr;
|
pthread_attr_t case_attr;
|
||||||
pthread_t res_thread;
|
pthread_t res_thread;
|
||||||
|
@ -79,13 +80,13 @@ sem_t res_mu;
|
||||||
// extern benchmark_handle *get_benchmark_list();
|
// extern benchmark_handle *get_benchmark_list();
|
||||||
extern void add_benchmark_handle(benchmark_handle *, benchmark_handle *);
|
extern void add_benchmark_handle(benchmark_handle *, benchmark_handle *);
|
||||||
|
|
||||||
clock_t tmp_diff = 0.0;
|
uint64_t tmp_diff = 0.0;
|
||||||
clock_t global_diff = 0.0;
|
uint64_t global_diff = 0.0;
|
||||||
void start_trigger(clock_t *start_time) {
|
void start_trigger(uint64_t *start_time) {
|
||||||
// *start_time = PrivGetTickTime();
|
// *start_time = PrivGetTickTime();
|
||||||
*start_time = read_cycle();
|
*start_time = read_cycle();
|
||||||
}
|
}
|
||||||
void stop_trigger(clock_t *end_time) {
|
void stop_trigger(uint64_t *end_time) {
|
||||||
// *end_time = PrivGetTickTime();
|
// *end_time = PrivGetTickTime();
|
||||||
*end_time = read_cycle();
|
*end_time = read_cycle();
|
||||||
}
|
}
|
||||||
|
@ -98,9 +99,9 @@ void init_benchmark_runset(benchmark_handle *head) {
|
||||||
}
|
}
|
||||||
global_diff = 0;
|
global_diff = 0;
|
||||||
}
|
}
|
||||||
void organize_result(const benchmark_handle *handle, clock_t start_time,
|
void organize_result(const benchmark_handle *handle, uint64_t start_time,
|
||||||
clock_t end_time) {
|
uint64_t end_time) {
|
||||||
tmp_diff = (clock_t)(end_time - start_time);
|
tmp_diff = (uint64_t)(end_time - start_time);
|
||||||
global_diff += tmp_diff;
|
global_diff += tmp_diff;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (bmh_list[i].handle != NULL) {
|
while (bmh_list[i].handle != NULL) {
|
||||||
|
@ -121,9 +122,9 @@ void print_result() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clock_t g_start_time;
|
uint64_t g_start_time;
|
||||||
void *print_result_asyn() {
|
void *print_result_asyn() {
|
||||||
clock_t g_stop_time = 0;
|
uint64_t g_stop_time = 0;
|
||||||
stop_trigger(&g_stop_time);
|
stop_trigger(&g_stop_time);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (bmh_list[i].handle != NULL) {
|
while (bmh_list[i].handle != NULL) {
|
||||||
|
@ -132,14 +133,14 @@ void *print_result_asyn() {
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
printf("[BENCHMARK] Global Time Diff: %20ld, %d\n",
|
printf("[BENCHMARK] Global Time Diff: %20ld, %d\n",
|
||||||
(clock_t)(g_stop_time - g_start_time), done_cnt);
|
(uint64_t)(g_stop_time - g_start_time), done_cnt);
|
||||||
};
|
};
|
||||||
|
|
||||||
void *run_one_example(void *arg) {
|
void *run_one_example(void *arg) {
|
||||||
// printf("Case start.\n");
|
// printf("Case start.\n");
|
||||||
const benchmark_handle *handle = arg;
|
const benchmark_handle *handle = arg;
|
||||||
assert(handle != NULL);
|
assert(handle != NULL);
|
||||||
clock_t start_time = 0, end_time = 0;
|
uint64_t start_time = 0, end_time = 0;
|
||||||
handle->handle.benchmark_func->initialise_benchmark();
|
handle->handle.benchmark_func->initialise_benchmark();
|
||||||
handle->handle.benchmark_func->warm_caches(WARMUP_HEAT);
|
handle->handle.benchmark_func->warm_caches(WARMUP_HEAT);
|
||||||
// ShowTask();
|
// ShowTask();
|
||||||
|
@ -223,8 +224,8 @@ void *run_benchmark_sequential(void *args) {
|
||||||
printf("[BENCHMARK] Start Benchmark running sequential.\n");
|
printf("[BENCHMARK] Start Benchmark running sequential.\n");
|
||||||
benchmark_handle *cur_handle = head.next;
|
benchmark_handle *cur_handle = head.next;
|
||||||
|
|
||||||
clock_t s_start_time = 0, s_stop_time = 0;
|
uint64_t s_start_time = 0, s_stop_time = 0;
|
||||||
clock_t start_time = 0, end_time = 0;
|
uint64_t start_time = 0, end_time = 0;
|
||||||
|
|
||||||
start_trigger(&s_start_time);
|
start_trigger(&s_start_time);
|
||||||
while (NULL != cur_handle) {
|
while (NULL != cur_handle) {
|
||||||
|
@ -247,7 +248,7 @@ void *run_benchmark_sequential(void *args) {
|
||||||
|
|
||||||
print_result();
|
print_result();
|
||||||
printf("[BENCHMARK] Global Time Diff: %20ld\n",
|
printf("[BENCHMARK] Global Time Diff: %20ld\n",
|
||||||
(clock_t)(s_stop_time - s_start_time));
|
(uint64_t)(s_stop_time - s_start_time));
|
||||||
}
|
}
|
||||||
|
|
||||||
pthread_t main_thread;
|
pthread_t main_thread;
|
||||||
|
|
Loading…
Reference in New Issue