1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-01 16:51:13 -05:00
denoland-deno/ext
Divy Srivastava ed6b60ddbe feat(ops): relational ops (#18023)
Join two independent ops into one. A fast impl of one + a slow callback
of another. Here's an example showing optimized paths for latin-1 via
fast call and the next-best fallback using V8 apis.

```rust
#[op(v8)]
fn op_encoding_encode_into_fallback(
  scope: &mut v8::HandleScope,
  input: serde_v8::Value,
// ...

#[op(fast, slow = op_encoding_encode_into_fallback)]
fn op_encoding_encode_into(
  input: Cow<'_, str>,
// ...
```

Benchmark results of the fallback path:
```
time target/release/deno run -A --unstable ./cli/tests/testdata/benches/text_encoder_into_perf.js
________________________________________________________
Executed in   70.90 millis    fish           external
   usr time   57.76 millis    0.23 millis   57.53 millis
   sys time   17.02 millis    1.28 millis   15.74 millis

target/release/deno_main run -A --unstable ./cli/tests/testdata/benches/text_encoder_into_perf.js
________________________________________________________
Executed in  154.00 millis    fish           external
   usr time   67.14 millis    0.26 millis   66.88 millis
   sys time   38.82 millis    1.47 millis   37.35 millis
```
2023-03-10 12:48:52 +09:00
..
broadcast_channel 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
cache 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
console fix(core): introduce SafeRegExp to primordials (#17592) 2023-03-10 12:44:33 +09:00
crypto 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
fetch fix(core): introduce SafeRegExp to primordials (#17592) 2023-03-10 12:44:33 +09:00
ffi fix(ext/ffi): Remove deno_core::OpState qualifiers, fix ops returning pointer defaults (#17959) 2023-03-10 12:44:14 +09:00
flash 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
http 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
io refactor(runtime): remove 40_files.js, 40_write_file.js and 40_read_file.js (#18018) 2023-03-10 12:47:49 +09:00
napi 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
net 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
node refactor(runtime): remove 40_files.js, 40_write_file.js and 40_read_file.js (#18018) 2023-03-10 12:47:49 +09:00
tls 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
url feat(ops): reland fast zero copy string arguments (#17996) 2023-03-10 12:46:24 +09:00
web feat(ops): relational ops (#18023) 2023-03-10 12:48:52 +09:00
webgpu 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
webidl fix(core): introduce SafeRegExp to primordials (#17592) 2023-03-10 12:44:33 +09:00
websocket 1.31.1 (#17936) 2023-02-24 21:17:58 -05:00
webstorage feat(ops): reland fast zero copy string arguments (#17996) 2023-03-10 12:46:24 +09:00