diff --git a/APP_Framework/Applications/benchmark/Make.dep b/APP_Framework/Applications/benchmark/Make.dep index ec9552f7d..9c6acc9b0 100644 --- a/APP_Framework/Applications/benchmark/Make.dep +++ b/APP_Framework/Applications/benchmark/Make.dep @@ -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 benchmark.c.home.tyy.works.xiuos.APP_Framework.Applications.benchmark.o: \ 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/nuttx/config.h \ + /home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/stddef.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/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/inttypes.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/stdio.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/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/strings.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/signal.h \ /home/tyy/works/xiuos/Ubiquitous/Nuttx_Fusion_XiUOS/nuttx/include/nuttx/irq.h \ diff --git a/APP_Framework/Applications/benchmark/support/benchmark.c b/APP_Framework/Applications/benchmark/support/benchmark.c index 8664a2012..8eafda281 100644 --- a/APP_Framework/Applications/benchmark/support/benchmark.c +++ b/APP_Framework/Applications/benchmark/support/benchmark.c @@ -1,4 +1,5 @@ +#include #include #include #include @@ -39,7 +40,7 @@ typedef struct BenchmarkPair { benchmark_handle *handle; char name[15]; pthread_t task_ptr; - clock_t time; + uint64_t time; } BenchmarkPair; BenchmarkPair bmh_list[] = { @@ -68,7 +69,7 @@ BenchmarkPair bmh_list[] = { {.handle = NULL, .name = "", .time = 0}, // }; -clock_t benchmark_time[25]; +uint64_t benchmark_time[25]; pthread_attr_t case_attr; pthread_t res_thread; @@ -79,13 +80,13 @@ sem_t res_mu; // extern benchmark_handle *get_benchmark_list(); extern void add_benchmark_handle(benchmark_handle *, benchmark_handle *); -clock_t tmp_diff = 0.0; -clock_t global_diff = 0.0; -void start_trigger(clock_t *start_time) { +uint64_t tmp_diff = 0.0; +uint64_t global_diff = 0.0; +void start_trigger(uint64_t *start_time) { // *start_time = PrivGetTickTime(); *start_time = read_cycle(); } -void stop_trigger(clock_t *end_time) { +void stop_trigger(uint64_t *end_time) { // *end_time = PrivGetTickTime(); *end_time = read_cycle(); } @@ -98,9 +99,9 @@ void init_benchmark_runset(benchmark_handle *head) { } global_diff = 0; } -void organize_result(const benchmark_handle *handle, clock_t start_time, - clock_t end_time) { - tmp_diff = (clock_t)(end_time - start_time); +void organize_result(const benchmark_handle *handle, uint64_t start_time, + uint64_t end_time) { + tmp_diff = (uint64_t)(end_time - start_time); global_diff += tmp_diff; int i = 0; 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() { - clock_t g_stop_time = 0; + uint64_t g_stop_time = 0; stop_trigger(&g_stop_time); int i = 0; while (bmh_list[i].handle != NULL) { @@ -132,14 +133,14 @@ void *print_result_asyn() { i++; } 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) { // printf("Case start.\n"); const benchmark_handle *handle = arg; 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->warm_caches(WARMUP_HEAT); // ShowTask(); @@ -223,8 +224,8 @@ void *run_benchmark_sequential(void *args) { printf("[BENCHMARK] Start Benchmark running sequential.\n"); benchmark_handle *cur_handle = head.next; - clock_t s_start_time = 0, s_stop_time = 0; - clock_t start_time = 0, end_time = 0; + uint64_t s_start_time = 0, s_stop_time = 0; + uint64_t start_time = 0, end_time = 0; start_trigger(&s_start_time); while (NULL != cur_handle) { @@ -247,7 +248,7 @@ void *run_benchmark_sequential(void *args) { print_result(); 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;