-
Notifications
You must be signed in to change notification settings - Fork 619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid building all three wasm engines for production use #4358
Comments
@matklad does the contract runtime team want to work on this issue or do you want someone else to work on it? |
Discussed in today's meeting. Summary:
Specific proposal:
|
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
This issue has been automatically marked as stale because it has not had recent activity in the last 2 months. |
cc @akhi3030 |
At the moment, we enable all three vms using default features in near-vm-runner:
nearcore/runtime/near-vm-runner/Cargo.toml
Line 48 in 07b4fd4
The problem with
default
features is that they are impossible to disable. Our current setup is more or less equivalent to just always using all three vm. Indeed, if you remove this default feature, you'll notice thatnear-vm-runner
doesn't even compile, as it misses some importantcfg
s.At the same time, wasm runtimes are very heavy dependencies (take long time to compile, and often use global resources like
#<span class="error">[no_mangle]</span>
functions or signal handlers), so using conditional compilation here makes sense.I think to fix this we need:
cargo test --workspace --features nightly_protocol,nightly_protocol_features,protocol_feature_evm,wasmer0_vm,wasmer1_vm,wasmtime_vm
default = <span class="error">["wasmer0_vm"]</span>
onlyThe text was updated successfully, but these errors were encountered: