Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to calculate runtime speed in standalone javascript program?

I am doing some JavaScript exercise and thinking about ways to improve my solution(algorithm) to the exercise. I am thinking of calculating runtime speed after tweaking the code so I will know how much the speed is improved. I searched and found this method and think I can do the same. Here is what I did,

var d = new Date();
var startTime = d.getTime();
var endTime;

function testTargeAlgorithm(){
  ....
  ....
}

testTargetAlgorithm();

endTime = d.getTime();
console.log(endTime-startTime);

It's a very simple algorithm so I don't expect there will be notable difference between the time. But if millisecond cannot measure the speed improvement, what else can I do?

like image 236
Bao Avatar asked Mar 05 '26 07:03

Bao


2 Answers

You can use performance.now() if the engine supports it. This gives a time in milliseconds, with sub-millisecond precision, since the page loaded or app started.

performance.now() // 26742.766999999956

I know Chrome supports it, but not sure about other browsers, node.js, or other engines standalone js engines.


Or you can run your code many times in a loop, and measure the total time taken.

like image 189
Alex Wayne Avatar answered Mar 06 '26 20:03

Alex Wayne


Run the same function again and again.

var startTime = (new Date()).getTime();
for(var i=0;i<1000;i++) {
    testTargeAlgorithm()
}
var endTime = (new Date()).getTime();
console.log(endTime-startTime);

edited to reflect suggestions, thanks Marcel

like image 45
deramko Avatar answered Mar 06 '26 20:03

deramko



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!