Search code examples
javascripttimeperformance.now

performance.now() vs Date.now()


What is the difference between performance.now() and Date.now()?

Should I consider performance.now() as a replacement for Date.now() since performace.now() is more consistent and independent?


Solution

  • They both serve different purposes.

    performance.now() is relative to page load and more precise in orders of magnitude. Use cases include benchmarking and other cases where a high-resolution time is required such as media (gaming, audio, video, etc.)

    It should be noted that performance.now() is available in IE10 or later browsers. See caniuse page.

    Date.now() is relative to the Unix epoch (1970-01-01T00:00:00Z) and dependent on system clock. Use cases include same old date manipulation ever since the beginning of JavaScript.

    See When milliseconds are not enough: performance.now and now method (Internet Explorer) - MSDN for more information.

    The official W3C spec can be found here: High Resolution Time API