javascriptnode.jsperformance.now

Javascript's performance.now() and Nodejs


I'm new to Nodejs and I'm confused about something when timing:

If Nodejs is Javascript, then why Javascript's performance.now() doesn't work on Nodejs and I'm forced to use console.time() or the like?

How can I know what other Javascript functions doesn't work on Node?

Thanks!


Solution

  • Update: Although this was correct at the time it was written, this answer is now obsolete and modern versions of Node do support performance.now()

    First, we have to be very clear about what JavaScript does -- and does not include.

    The definition for what JavaScript includes is the EMCA-262 guide. This is the only thing that JavaScript is required to have.

    Everything else - from the DOM to the performance object are additions provided by the host environment.

    Some -- many -- browsers have chosen to add performance.now() but that is NOT part of JavaScript -- just something that JavaScript can call.

    nodeJS currently doesn't support it -- at least not out-of-the-box, but it looks like someone created a module that does give you that ability.

    I've not tried it, just did a quick google for 'node performance.now` and this was the first hit: https://www.npmjs.com/package/performance-now