diff --git a/go.mod b/go.mod index a6d0e8c6b..d0996e46c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/XSAM/otelsql v0.29.0 github.com/andybalholm/brotli v1.1.1 github.com/atombender/go-jsonschema v0.16.1-0.20240916205339-a74cd4e2851c - github.com/bytecodealliance/wasmtime-go/v23 v23.0.0 + github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 github.com/confluentinc/confluent-kafka-go/v2 v2.3.0 github.com/dominikbraun/graph v0.23.0 github.com/fxamacker/cbor/v2 v2.5.0 diff --git a/go.sum b/go.sum index 39420f468..16546ae91 100644 --- a/go.sum +++ b/go.sum @@ -28,8 +28,8 @@ github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZ github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/bytecodealliance/wasmtime-go/v23 v23.0.0 h1:NJvU4S8KEk1GnF6+FvlnzMD/8wXTj/mYJSG6Q4yu3Pw= -github.com/bytecodealliance/wasmtime-go/v23 v23.0.0/go.mod h1:5YIL+Ouiww2zpO7u+iZ1U1G5NvmwQYaXdmCZQGjQM0U= +github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= +github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= diff --git a/pkg/workflows/wasm/host/module.go b/pkg/workflows/wasm/host/module.go index e87a73b64..0e2214c30 100644 --- a/pkg/workflows/wasm/host/module.go +++ b/pkg/workflows/wasm/host/module.go @@ -17,7 +17,7 @@ import ( "time" "github.com/andybalholm/brotli" - "github.com/bytecodealliance/wasmtime-go/v23" + "github.com/bytecodealliance/wasmtime-go/v28" "google.golang.org/protobuf/proto" "github.com/smartcontractkit/chainlink-common/pkg/custmsg" @@ -188,6 +188,9 @@ func NewModule(modCfg *ModuleConfig, binary []byte, opts ...func(*ModuleConfig)) cfg.CacheConfigLoadDefault() cfg.SetCraneliftOptLevel(wasmtime.OptLevelSpeedAndSize) + // Load testing shows that leaving native unwind info enabled causes a very large slowdown when loading multiple modules. + cfg.SetNativeUnwindInfo(false) + engine := wasmtime.NewEngineWithConfig(cfg) if !modCfg.IsUncompressed { // validate the binary size before decompressing diff --git a/pkg/workflows/wasm/host/module_test.go b/pkg/workflows/wasm/host/module_test.go index 66390adeb..1112197c9 100644 --- a/pkg/workflows/wasm/host/module_test.go +++ b/pkg/workflows/wasm/host/module_test.go @@ -6,7 +6,7 @@ import ( "sync" "testing" - "github.com/bytecodealliance/wasmtime-go/v23" + "github.com/bytecodealliance/wasmtime-go/v28" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/protobuf/proto" diff --git a/pkg/workflows/wasm/host/wasip1.go b/pkg/workflows/wasm/host/wasip1.go index 016ca2ca3..3343bbf70 100644 --- a/pkg/workflows/wasm/host/wasip1.go +++ b/pkg/workflows/wasm/host/wasip1.go @@ -7,7 +7,7 @@ import ( "math/rand" "time" - "github.com/bytecodealliance/wasmtime-go/v23" + "github.com/bytecodealliance/wasmtime-go/v28" "github.com/jonboulle/clockwork" )