Skip to content
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

Impl WasmType for FuncRef and ExternRef #642

Merged
merged 1 commit into from Feb 2, 2023
Merged

Impl WasmType for FuncRef and ExternRef #642

merged 1 commit into from Feb 2, 2023

Conversation

Robbepop
Copy link
Collaborator

@Robbepop Robbepop commented Feb 2, 2023

This allows to use FuncRef and ExternRef types with the TypedFunc API and everything that connects to it.

This functionality was trivial to add and simply forgotten in the reference-types Wasm proposal implementation PR.

This allows to use FuncRef and ExternRef types with the TypedFunc API and everything that connects to it.

This functionality was trivial to add and simply forgotten in the reference-types implementation PR.
@paritytech-cicd-pr
Copy link

BENCHMARKS

NATIVEWASMTIME
BENCHMARKMASTERPRDIFFMASTERPRDIFFWASMTIME OVERHEAD
execute/
bare_call_0
1.47ms 1.42ms 🔴 -2.79% 1.14ms 1.18ms 🔴 2.59% 🟢 -17%
execute/
bare_call_0/typed
1.02ms 1.03ms 🔴 1.43% 785.56µs 791.10µs ⚪ -0.77% 🟢 -24%
execute/
bare_call_1
1.45ms 1.46ms 🔴 0.81% 1.37ms 1.38ms 🟢 0.46% 🟢 -6%
execute/
bare_call_16
2.49ms 2.46ms 🟢 -1.19% 4.48ms 4.51ms ⚪ 0.87% 🟡 84%
execute/
bare_call_16/typed
1.80ms 1.80ms ⚪ 0.17% 2.78ms 2.80ms ⚪ 0.81% 🟡 56%
execute/
bare_call_1/typed
1.13ms 1.16ms 🔴 2.62% 1.18ms 1.16ms 🟢 -1.36% 🟢 0%
execute/
bare_call_4
1.71ms 1.61ms 🟢 -5.79% 2.02ms 2.02ms ⚪ 0.15% 🟢 26%
execute/
bare_call_4/typed
1.18ms 1.15ms ⚪ -1.45% 1.31ms 1.33ms ⚪ 1.27% 🟢 15%
execute/
br_table
1.19ms 1.15ms 🟢 -2.99% 1.36ms 1.35ms ⚪ -2.71% 🟢 17%
execute/
count_until
1.23ms 683.71µs 🟢 -44.15% 2.22ms 2.13ms 🟢 -4.61% 🔴 211%
execute/
factorial_iterative
330.35µs 328.20µs ⚪ -0.81% 947.29µs 948.02µs ⚪ -0.08% 🔴 189%
execute/
factorial_recursive
686.94µs 668.15µs 🟢 -2.60% 1.38ms 1.34ms 🟢 -2.40% 🔴 101%
execute/
fib_iterative
1.40ms 1.40ms ⚪ -0.16% 5.15ms 5.15ms ⚪ 0.15% 🔴 269%
execute/
fib_recursive
5.92ms 5.93ms ⚪ 0.34% 11.94ms 11.77ms ⚪ -1.13% 🟡 98%
execute/
global_bump
984.18µs 984.04µs ⚪ -0.30% 2.50ms 2.45ms 🟢 -1.84% 🔴 149%
execute/
global_const
741.66µs 743.36µs ⚪ 0.20% 2.55ms 2.56ms ⚪ 0.66% 🔴 245%
execute/
host_calls
26.31µs 26.54µs ⚪ 1.16% 40.24µs 39.60µs ⚪ -1.25% 🟢 49%
execute/
memory_fill
1.26ms 1.25ms ⚪ -0.05% 4.15ms 4.16ms ⚪ 0.18% 🔴 232%
execute/
memory_sum
1.27ms 1.20ms ⚪ -6.24% 4.15ms 4.15ms ⚪ -0.06% 🔴 247%
execute/
memory_vec_add
2.60ms 2.60ms ⚪ 0.09% 7.59ms 7.61ms ⚪ 0.07% 🔴 192%
execute/
recursive_is_even
1.14ms 1.13ms ⚪ -0.37% 2.38ms 2.37ms ⚪ -1.51% 🔴 109%
execute/
recursive_ok
158.95µs 162.54µs 🔴 2.09% 346.17µs 311.14µs 🟢 -10.24% 🟡 91%
execute/
recursive_scan
183.40µs 183.11µs ⚪ -0.59% 412.68µs 374.79µs 🟢 -9.04% 🔴 105%
execute/
recursive_trap
16.45µs 15.95µs 🟢 -2.88% 29.75µs 29.69µs ⚪ -0.19% 🟡 86%
execute/
regex_redux
538.85µs 528.07µs 🟢 -1.93% 1.41ms 1.39ms ⚪ -0.96% 🔴 164%
execute/
rev_complement
486.80µs 511.23µs 🔴 5.08% 1.43ms 1.42ms ⚪ -0.50% 🔴 178%
execute/
tiny_keccak
333.93µs 349.47µs ⚪ 13.42% 1.16ms 1.15ms ⚪ -0.71% 🔴 230%
execute/
trunc_f2i
736.33µs 734.55µs ⚪ -0.23% 2.13ms 2.13ms ⚪ -0.41% 🔴 190%
instantiate/
wasm_kernel
65.84µs 65.88µs ⚪ 2.33% 72.87µs 72.42µs ⚪ -0.34% 🟢 10%
translate/
erc1155
205.88µs 216.41µs ⚪ 2.53% 389.58µs 391.24µs ⚪ 0.17% 🟡 81%
translate/
erc20
101.74µs 102.65µs ⚪ 0.54% 189.51µs 192.07µs ⚪ 1.29% 🟡 87%
translate/
erc721
143.95µs 146.21µs ⚪ 0.77% 277.14µs 277.63µs ⚪ 0.54% 🟡 90%
translate/
spidermonkey
0.00ns 0.00ns ⚪ 0.71% 0.00ns 0.00ns 🔴 1.51% 🟢 0%
translate/
wasm_kernel
3.72ms 3.72ms ⚪ 0.27% 7.36ms 7.38ms ⚪ -0.56% 🟡 98%

Link to pipeline

@Robbepop Robbepop merged commit af4d525 into master Feb 2, 2023
@Robbepop Robbepop deleted the rf-impl-wasmty branch February 2, 2023 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants