mirror of
https://github.com/denoland/deno.git
synced 2024-12-01 16:51:13 -05:00
ed6b60ddbe
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 ``` |
||
---|---|---|
.. | ||
broadcast_channel | ||
cache | ||
console | ||
crypto | ||
fetch | ||
ffi | ||
flash | ||
http | ||
io | ||
napi | ||
net | ||
node | ||
tls | ||
url | ||
web | ||
webgpu | ||
webidl | ||
websocket | ||
webstorage |