mirror of
https://github.com/denoland/deno.git
synced 2025-08-03 02:22:40 +00:00
refactor: new optimized op-layer using serde_v8 (#9843)
- Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups
This commit is contained in:
parent
6dc3549a81
commit
fec1b2a5a4
33 changed files with 794 additions and 1811 deletions
4
core/lib.deno_core.d.ts
vendored
4
core/lib.deno_core.d.ts
vendored
|
@ -11,14 +11,14 @@ declare namespace Deno {
|
|||
function jsonOpSync(
|
||||
opName: string,
|
||||
args?: any,
|
||||
...zeroCopy: Uint8Array[]
|
||||
zeroCopy?: Uint8Array,
|
||||
): any;
|
||||
|
||||
/** Send a JSON op to Rust, and asynchronously receive the result. */
|
||||
function jsonOpAsync(
|
||||
opName: string,
|
||||
args?: any,
|
||||
...zeroCopy: Uint8Array[]
|
||||
zeroCopy?: Uint8Array,
|
||||
): Promise<any>;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue