From a1764f7690cfdc3e42724fcad29ef954b7e576a4 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Tue, 4 Apr 2023 06:46:31 -0600 Subject: refactor(core): Improve ergonomics of managing ASCII strings (#18498) This is a follow-on to the earlier work in reducing string copies, mainly focused on ensuring that ASCII strings are easy to provide to the JS runtime. While we are replacing a 16-byte reference in a number of places with a 24-byte structure (measured via `std::mem::size_of`), the reduction in copies wins out over the additional size of the arguments passed into functions. Benchmarking shows approximately the same if not slightly less wallclock time/instructions retired, but I believe this continues to open up further refactoring opportunities. --- core/examples/http_bench_json_ops/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core/examples/http_bench_json_ops') diff --git a/core/examples/http_bench_json_ops/main.rs b/core/examples/http_bench_json_ops/main.rs index f0bbec0d9..7c15f7bf2 100644 --- a/core/examples/http_bench_json_ops/main.rs +++ b/core/examples/http_bench_json_ops/main.rs @@ -165,7 +165,7 @@ fn main() { js_runtime .execute_script( "http_bench_json_ops.js", - include_str!("http_bench_json_ops.js"), + include_ascii_string!("http_bench_json_ops.js"), ) .unwrap(); js_runtime.run_event_loop(false).await -- cgit v1.2.3