Я измеряю, сколько времени требуется для выполнения функции compute_secret ().Приведенный ниже псевдокод показывает, как я делаю измерения.Проблема заключается в том, что между total_inside
(временем, которое требуется для выполнения тела функции, измерения внутри вызываемого абонента) существует довольно большое различие между total_outside
(измерением внутри вызывающей стороны).Например, total_inside = 127ms
, total_outside = 238ms
.
Я понимаю, что для вызова и возврата из вызова функции требуется некоторое время.Но это не должно занимать "это" долго.
Каковы общие причины, по которым вызов и возврат из функции стоят слишком много времени?
int encrypt(args){
time start_inside = get_current_time();
/**
actually compute stuff
**/
time end_inside = get_current_time();
time total_inside = end_inside - start_inside;
}
int main(){
time start_outside = get_current_time();
encrypt(args);
time end_outside = get_current_time();
time total_outside = end_outside - start_outside;
}