dependabot[bot] opened a new pull request, #24858:
URL: https://github.com/apache/beam/pull/24858

   Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero) 
from 1.0.0-pre.4 to 1.0.0-pre.7.
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/tetratelabs/wazero/releases";>github.com/tetratelabs/wazero's
 releases</a>.</em></p>
   <blockquote>
   <p>wazero v1.0.0-pre.7 fixes a compilation problem affecting those building 
<code>GOARCH=386</code>. Other users can skip this version.</p>
   <p>wazero v1.0.0-pre.6 improves performance, CLI and adds a writeable 
filesystem.</p>
   <p>Performance, reliability and usability have been recurring trends in 
wazero this year, and they will continue into next. We're thankful to have so 
many end users and enthusiasts active, and wow.. it was an active month!</p>
   <h2>Performance</h2>
   <p>This December, <a 
href="https://github.com/mathetake";><code>@​mathetake</code></a> has been 
working hard on the compiler backend, while <a 
href="https://github.com/ckaznocha";><code>@​ckaznocha</code></a> put in time to 
optimize various parts of module initialization. We've also put many more 
benchmarks in place including I/O functions like WASI. Results were 
dramatic.</p>
   <p>For example, our benchmark of go compiled to wasm (<code>GOOS=js 
GOARCH=wasm</code>) improved almost 25%, while our benchmark for WASI+TinyGo 
improved compilation time by almost 25% and instantiation time nearly 10%.</p>
   <p>While these improvements are great, wazero still won't beat optimizing 
compilers. The good news is that <a 
href="https://github.com/mathetake";><code>@​mathetake</code></a> proved it is 
possible to do JIT-ish compilation and execution in pure Go. Moreover, <a 
href="https://tetrate.io/";>Tetrate</a> has hired an extremely bright engineer 
to start working with Takeshi on this problem next month. For those interested 
in how wazero works today, take a look at this year's <a 
href="https://www.youtube.com/watch?v=HcRSe4Y-1Fc";>GopherCon 
presentation</a>.</p>
   <h2>CLI</h2>
   <p>wazero works with diverse wasm compilers. Many re-use the same libraries 
to perform tasks such as I/O, like wasi-libc. However, even those who use that 
routinely drop down to pure wasm functions to optimize or decouple. Moreover, 
Go's compiler uses its own syscall ABI which is unlike WASI. In order for us to 
be more efficient, we've significantly enhanced our CLI.</p>
   <p>Most notably, we added <code>--hostlogging=filesystem</code> which can 
show you what's happening during a command.</p>
   <pre lang="bash"><code>$ tinygo build -target wasi -o cat.wasm cat.go
   $ echo hello world &gt; /tmp/hello.txt
   $ wazero run -mount=/tmp:/ --hostlogging=filesystem cat.wasm /hello.txt
   ==&gt; wasi_snapshot_preview1.fd_prestat_get(fd=3)
   &lt;== (prestat={pr_name_len=1},errno=ESUCCESS)
   --snip--
   </code></pre>
   <p>We also detect if you are using Go generated wasm automatically now 
(<code>GOOS=js GOARCH=wasm</code>). We support logging on that, even though the 
functions underneath act wildly differently.</p>
   <pre lang="bash"><code>$ GOARCH=wasm GOOS=js go build -o cat.wasm cat.go
   $ wazero run -mount=/tmp:/ --hostlogging=filesystem cat.wasm /hello.txt
   ==&gt; 
go.syscall/js.valueCall(fs.open(name=/hello.txt,flags=,perm=----------))
   &lt;== (err=&lt;nil&gt;,fd=4)
   --snip--
   </code></pre>
   <p>We've also added a <code>-cachedir</code> flag which allows running the 
same wasm faster the second time. Those building images can use the 
<code>compile</code> command first, as that allows you to build cache without 
actually executing the module.</p>
   <p>Ex. This command took almost 140ms as it implied compilation. By 
precompiling, it executes 100ms quicker.</p>
   <pre lang="bash"><code>$ time wazero run -mount=/tmp:/ cat.wasm /hello.txt
   hello world
   <p>real      0m0.139s
   user 0m0.178s
   sys  0m0.036s</p>
   <p>&lt;/tr&gt;&lt;/table&gt;
   </code></pre></p>
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/4197caa05bb6fd529eecae56a9eea6bcb1b1780e";><code>4197caa</code></a>
 Ensures 32-bit platforms build (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/996";>#996</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/94491fef0b85807f5fa309ad2b98fc2fe6791dec";><code>94491fe</code></a>
 Implements rename in GOOS=js and WASI (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/991";>#991</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/e4740efef4a2c33cc7e1e87a88ed4edb9c82064d";><code>e4740ef</code></a>
 site: updates wasi support table (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/993";>#993</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/2fbf83e0b3a61f4cad9f5f65cc0252fa6f92b414";><code>2fbf83e</code></a>
 wasi: fixes or'd open flags (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/990";>#990</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/c9868d89cbab60046a74cb4ea5a1877cfcf57e7c";><code>c9868d8</code></a>
 Removes internal dependency on fs.FS (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/987";>#987</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/2045f7136399ceebd08b7ee3d0579bd2f24396b1";><code>2045f71</code></a>
 enginetest: fixes panic om memory def (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/989";>#989</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/da3aa7a5ad4609457cb685cc44686e0bba1796ff";><code>da3aa7a</code></a>
 Adds ExportedFunctionDefinitions and ExportedMemoryDefinitions (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/986";>#986</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/e7018d19ff01daf992b56c5208666d3056faeca9";><code>e7018d1</code></a>
 compiler: force moduleContext initialization after Go function calls (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/988";>#988</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/efc72de1e6d4fb0a9b60aa568f0489b8bdde4ae0";><code>efc72de</code></a>
 gojs: implements timeout events (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/984";>#984</a>)</li>
   <li><a 
href="https://github.com/tetratelabs/wazero/commit/67cc6d37796176cae9da3bd304efb58bad066157";><code>67cc6d3</code></a>
 compilationcache: uses version-specific subdirectory (<a 
href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/982";>#982</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/tetratelabs/wazero/compare/v1.0.0-pre.4...v1.0.0-pre.7";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/tetratelabs/wazero&package-manager=go_modules&previous-version=1.0.0-pre.4&new-version=1.0.0-pre.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   <details>
   <summary>Dependabot commands and options</summary>
   <br />
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to