Enhancements on wasm function execution time statistic (#2985)
Enhance the statistic of wasm function execution time, or the performance profiling feature: - Add os_time_thread_cputime_us() to get the cputime of a thread, and use it to calculate the execution time of a wasm function - Support the statistic of the children execution time of a function, and dump it in wasm_runtime_dump_perf_profiling - Expose two APIs: wasm_runtime_sum_wasm_exec_time wasm_runtime_get_wasm_func_exec_time And rename os_time_get_boot_microsecond to os_time_get_boot_us.
This commit is contained in:
@ -186,6 +186,8 @@ struct WASMFunctionInstance {
|
||||
uint64 total_exec_time;
|
||||
/* total execution count */
|
||||
uint32 total_exec_cnt;
|
||||
/* children execution time */
|
||||
uint64 children_exec_time;
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -432,6 +434,13 @@ wasm_instantiate(WASMModule *module, WASMModuleInstance *parent,
|
||||
void
|
||||
wasm_dump_perf_profiling(const WASMModuleInstance *module_inst);
|
||||
|
||||
double
|
||||
wasm_summarize_wasm_execute_time(const WASMModuleInstance *inst);
|
||||
|
||||
double
|
||||
wasm_get_wasm_func_exec_time(const WASMModuleInstance *inst,
|
||||
const char *func_name);
|
||||
|
||||
void
|
||||
wasm_deinstantiate(WASMModuleInstance *module_inst, bool is_sub_inst);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user