This commit is contained in:
TXuian 2022-12-12 12:53:58 +08:00
parent 65a7e3f6ed
commit c2d5d136fd
2 changed files with 20 additions and 19 deletions

View File

@ -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 \

View File

@ -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;