You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2023/01/02 04:19:45 UTC
[GitHub] [beam] dependabot[bot] opened a new pull request, #24852: Bump github.com/tetratelabs/wazero from 1.0.0-pre.4 to 1.0.0-pre.6 in /sdks
dependabot[bot] opened a new pull request, #24852:
URL: https://github.com/apache/beam/pull/24852
Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero) from 1.0.0-pre.4 to 1.0.0-pre.6.
<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.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 > /tmp/hello.txt
$ wazero run -mount=/tmp:/ --hostlogging=filesystem cat.wasm /hello.txt
==> wasi_snapshot_preview1.fd_prestat_get(fd=3)
<== (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
==> go.syscall/js.valueCall(fs.open(name=/hello.txt,flags=,perm=----------))
<== (err=<nil>,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>$ wazero compile -cachedir=$HOME/.wazero cat.wasm
$ time wazero run -cachedir=$HOME/.wazero -mount=/tmp:/ cat.wasm /hello.txt
</tr></table>
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<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><a href="https://github.com/tetratelabs/wazero/commit/1db5433154b3559b49836c562d3e1c24b5372f08"><code>1db5433</code></a> add internal/sys.FileTable (<a href="https://github-redirect.dependabot.com/tetratelabs/wazero/issues/975">#975</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tetratelabs/wazero/compare/v1.0.0-pre.4...v1.0.0-pre.6">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.6)](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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] dependabot[bot] commented on pull request #24852: Bump github.com/tetratelabs/wazero from 1.0.0-pre.4 to 1.0.0-pre.6 in /sdks
Posted by GitBox <gi...@apache.org>.
dependabot[bot] commented on PR #24852:
URL: https://github.com/apache/beam/pull/24852#issuecomment-1369379761
Superseded by #24858.
--
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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] github-actions[bot] commented on pull request #24852: Bump github.com/tetratelabs/wazero from 1.0.0-pre.4 to 1.0.0-pre.6 in /sdks
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on PR #24852:
URL: https://github.com/apache/beam/pull/24852#issuecomment-1368659634
Assigning reviewers. If you would like to opt out of this review, comment `assign to next reviewer`:
R: @riteshghorse for label go.
Available commands:
- `stop reviewer notifications` - opt out of the automated review tooling
- `remind me after tests pass` - tag the comment author after tests pass
- `waiting on author` - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)
The PR bot will only process comments in the main thread (not review comments).
--
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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] codecov[bot] commented on pull request #24852: Bump github.com/tetratelabs/wazero from 1.0.0-pre.4 to 1.0.0-pre.6 in /sdks
Posted by GitBox <gi...@apache.org>.
codecov[bot] commented on PR #24852:
URL: https://github.com/apache/beam/pull/24852#issuecomment-1368649626
# [Codecov](https://codecov.io/gh/apache/beam/pull/24852?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#24852](https://codecov.io/gh/apache/beam/pull/24852?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (15060c5) into [master](https://codecov.io/gh/apache/beam/commit/3ee5b86a3f16dc92b6825773cf134d1315610251?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (3ee5b86) will **decrease** coverage by `0.00%`.
> The diff coverage is `n/a`.
```diff
@@ Coverage Diff @@
## master #24852 +/- ##
==========================================
- Coverage 65.20% 65.20% -0.01%
==========================================
Files 731 731
Lines 97960 97960
==========================================
- Hits 63878 63875 -3
- Misses 32727 32729 +2
- Partials 1355 1356 +1
```
| Flag | Coverage Δ | |
|---|---|---|
| go | `51.45% <ø> (-0.01%)` | :arrow_down: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/beam/pull/24852?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [sdks/go/pkg/beam/core/metrics/dumper.go](https://codecov.io/gh/apache/beam/pull/24852/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2Rrcy9nby9wa2cvYmVhbS9jb3JlL21ldHJpY3MvZHVtcGVyLmdv) | `49.20% <0.00%> (-4.77%)` | :arrow_down: |
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
--
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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [beam] dependabot[bot] closed pull request #24852: Bump github.com/tetratelabs/wazero from 1.0.0-pre.4 to 1.0.0-pre.6 in /sdks
Posted by GitBox <gi...@apache.org>.
dependabot[bot] closed pull request #24852: Bump github.com/tetratelabs/wazero from 1.0.0-pre.4 to 1.0.0-pre.6 in /sdks
URL: https://github.com/apache/beam/pull/24852
--
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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org