extension_host: Turn on parallel compilation (#30942)
Precursor to other optimizations, but this already gets us a big improvement. Wasm compilation can easily be parallelized, and with all of the cores on my M4 Max this already gets us an 86% improvement, bringing loading an extension down to <9ms. Not all setups will see this much improvement, but it will use the cores available (it just uses rayon under the hood like we do elsewhere). Since we load extensions in sequence, this should have a nice impact for users with a lot of extensions. #### Before ``` Benchmarking load: Warming up for 3.0000 s Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 6.5s, or reduce sample count to 70. load time: [64.859 ms 64.935 ms 65.027 ms] Found 8 outliers among 100 measurements (8.00%) 2 (2.00%) low mild 3 (3.00%) high mild 3 (3.00%) high severe ``` #### After ``` load time: [8.8685 ms 8.9012 ms 8.9344 ms] change: [-86.347% -86.292% -86.237%] (p = 0.00 < 0.05) Performance has improved. Found 2 outliers among 100 measurements (2.00%) 2 (2.00%) high mild ``` Release Notes: - N/A
This commit is contained in:
parent
c7aae6bd62
commit
26a8cac0d8
8 changed files with 161 additions and 5 deletions
|
@ -132,7 +132,7 @@ url = { version = "2", features = ["serde"] }
|
|||
uuid = { version = "1", features = ["serde", "v4", "v5", "v7"] }
|
||||
wasm-encoder = { version = "0.221", features = ["wasmparser"] }
|
||||
wasmparser = { version = "0.221" }
|
||||
wasmtime = { version = "29", default-features = false, features = ["async", "component-model", "cranelift", "demangle", "gc-drc"] }
|
||||
wasmtime = { version = "29", default-features = false, features = ["async", "component-model", "cranelift", "demangle", "gc-drc", "parallel-compilation"] }
|
||||
wasmtime-cranelift = { version = "29", default-features = false, features = ["component-model", "gc-drc"] }
|
||||
wasmtime-environ = { version = "29", default-features = false, features = ["compile", "component-model", "demangle", "gc-drc"] }
|
||||
winnow = { version = "0.7", features = ["simd"] }
|
||||
|
@ -267,7 +267,7 @@ url = { version = "2", features = ["serde"] }
|
|||
uuid = { version = "1", features = ["serde", "v4", "v5", "v7"] }
|
||||
wasm-encoder = { version = "0.221", features = ["wasmparser"] }
|
||||
wasmparser = { version = "0.221" }
|
||||
wasmtime = { version = "29", default-features = false, features = ["async", "component-model", "cranelift", "demangle", "gc-drc"] }
|
||||
wasmtime = { version = "29", default-features = false, features = ["async", "component-model", "cranelift", "demangle", "gc-drc", "parallel-compilation"] }
|
||||
wasmtime-cranelift = { version = "29", default-features = false, features = ["component-model", "gc-drc"] }
|
||||
wasmtime-environ = { version = "29", default-features = false, features = ["compile", "component-model", "demangle", "gc-drc"] }
|
||||
winnow = { version = "0.7", features = ["simd"] }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue