1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -05:00

perf: micro-optimize core.encode (#14120)

This commit is contained in:
Divy Srivastava 2022-03-27 13:10:54 +05:30 committed by GitHub
parent 37b0ec454c
commit b18216a0d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -864,9 +864,13 @@ fn encode(
} }
}; };
let text_str = text.to_rust_string_lossy(scope); let text_str = text.to_rust_string_lossy(scope);
let zbuf: ZeroCopyBuf = text_str.into_bytes().into(); let bytes: Box<[u8]> = text_str.into_bytes().into_boxed_slice();
let len = bytes.len();
rv.set(to_v8(scope, zbuf).unwrap()) let backing_store =
v8::ArrayBuffer::new_backing_store_from_boxed_slice(bytes).make_shared();
let buffer = v8::ArrayBuffer::with_backing_store(scope, &backing_store);
let u8array = v8::Uint8Array::new(scope, buffer, 0, len).unwrap();
rv.set(u8array.into())
} }
fn decode( fn decode(