Fastest and lightest way to get the current time in milliseconds with JS Date object

date, javascript, performance

Solution

`Date.now()` wins. See jsPerf test.

But as noted in comments above, the CPU cost is likely uninteresting compared to just about anything else you'll be doing.

@techfoobar mentions the cost of allocating `Date` objects (or, really, the cost of garbage collecting those `Date` objects). That may or may not be a significant win, as `Date.now()` is probably allocating numbers, which would be about as expensive.

Problem

There are different ways to get the current time in milliseconds with `Date` object: ``` (new Date()).getTime(); +new Date(); Date.now(); ``` Assuming that you don't need to create an object and just need a current time in milliseconds, which one would be the most effective one? In terms of performance. EDIT: I understand most devs wouldn't care about this, but it may matter when you work in a low-tech embedded environment or just to kill the curiosity.

Original source