Skip to content

Deprecate Module::new_streaming[_unchecked] APIs #1540

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

Merged
merged 2 commits into from
Jun 15, 2025

Conversation

Robbepop
Copy link
Member

The Module::new_streaming[_unchecked] APIs existed in Wasmi since the very beginning (thought differently named).
They implement the streaming Wasm module creation interface which is supposedly more efficient than the non-streaming API if Wasm bytes transmission and Wasm module translation are both slow. The idea is to stream in bytes in order to build up a Wasm module incrementally. However, the streaming nature adds overhead to parsing which kinda nullifies the gains. Also Wasmi translation is extremely fast, so streaming usually adds more overhead than is reduced.

As I am not 100% certain that nobody would ever have a serious use for this API, I will deprecate it first and let users know that they shall notify me here in case they have a valid use case for this API.

Removing the streaming APIs make room for a slightly more efficient and lightweight Wasm parser which could simplify the task at: #1514

Copy link

codecov bot commented Jun 15, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 72.21%. Comparing base (28f4e18) to head (7121360).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1540   +/-   ##
=======================================
  Coverage   72.21%   72.21%           
=======================================
  Files         179      179           
  Lines       16406    16406           
=======================================
  Hits        11847    11847           
  Misses       4559     4559           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Robbepop Robbepop merged commit 352d564 into main Jun 15, 2025
19 checks passed
@Robbepop Robbepop deleted the rf-deprecate-module-new-streaming branch June 15, 2025 09:46
@orsinium
Copy link
Contributor

orsinium commented Aug 16, 2025

(this comment is moved into #1515)

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.

2 participants