diff options
author | Matt Mastracci <matthew@mastracci.com> | 2023-03-17 16:15:27 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-17 22:15:27 +0000 |
commit | 3487fde236d0852a8b0672c293fa41a741f471e8 (patch) | |
tree | af466368147a08b787080446319a3a46a60ee37d /core/runtime.rs | |
parent | e55b448730160a6e4df9815a268d4049ac89deab (diff) |
perf(core) Reduce copying and cloning in extension initialization (#18252)
Follow-up to #18210:
* we are passing the generated `cfg` object into the state function
rather than passing individual config fields
* reduce cloning dramatically by making the state_fn `FnOnce`
* `take` for `ExtensionBuilder` to avoid more unnecessary copies
* renamed `config` to `options`
Diffstat (limited to 'core/runtime.rs')
-rw-r--r-- | core/runtime.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/runtime.rs b/core/runtime.rs index 1ea9c0168..0531e861c 100644 --- a/core/runtime.rs +++ b/core/runtime.rs @@ -2731,14 +2731,14 @@ pub mod tests { deno_core::extension!( test_ext, ops = [op_test], - config = { + options = { mode: Mode, dispatch_count: Arc<AtomicUsize>, }, - state = |state, mode, dispatch_count| { + state = |state, options| { state.put(TestState { - mode, - dispatch_count + mode: options.mode, + dispatch_count: options.dispatch_count }) } ); |