summaryrefslogtreecommitdiff
path: root/js/performance.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/performance.ts')
-rw-r--r--js/performance.ts18
1 files changed, 9 insertions, 9 deletions
diff --git a/js/performance.ts b/js/performance.ts
index d2f339c46..7aaa7ae45 100644
--- a/js/performance.ts
+++ b/js/performance.ts
@@ -1,11 +1,6 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-import * as dispatch from "./dispatch";
-import { sendSync } from "./dispatch_json";
-
-interface NowResponse {
- seconds: number;
- subsecNanos: number;
-}
+import { sendSync, msg, flatbuffers } from "./dispatch_flatbuffers";
+import { assert } from "./util";
export class Performance {
/** Returns a current time from Deno's start in milliseconds.
@@ -16,7 +11,12 @@ export class Performance {
* console.log(`${t} ms since start!`);
*/
now(): number {
- const res = sendSync(dispatch.OP_NOW) as NowResponse;
- return res.seconds * 1e3 + res.subsecNanos / 1e6;
+ const builder = flatbuffers.createBuilder();
+ const inner = msg.Now.createNow(builder);
+ const baseRes = sendSync(builder, msg.Any.Now, inner)!;
+ assert(msg.Any.NowRes === baseRes.innerType());
+ const res = new msg.NowRes();
+ assert(baseRes.inner(res) != null);
+ return res.seconds().toFloat64() * 1e3 + res.subsecNanos() / 1e6;
}
}