diff options
Diffstat (limited to 'cli/js/performance.ts')
-rw-r--r-- | cli/js/performance.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cli/js/performance.ts b/cli/js/performance.ts new file mode 100644 index 000000000..6ea8e56e1 --- /dev/null +++ b/cli/js/performance.ts @@ -0,0 +1,22 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. +import * as dispatch from "./dispatch.ts"; +import { sendSync } from "./dispatch_json.ts"; + +interface NowResponse { + seconds: number; + subsecNanos: number; +} + +export class Performance { + /** Returns a current time from Deno's start in milliseconds. + * + * Use the flag --allow-hrtime return a precise value. + * + * const t = performance.now(); + * console.log(`${t} ms since start!`); + */ + now(): number { + const res = sendSync(dispatch.OP_NOW) as NowResponse; + return res.seconds * 1e3 + res.subsecNanos / 1e6; + } +} |