abrown requested alexcrichton, fitzgen, cfallin and jlb6740 for a review on PR #2437.
abrown opened PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
abrown requested alexcrichton, fitzgen, cfallin and jlb6740 for a review on PR #2437.
abrown requested alexcrichton, fitzgen, cfallin and jlb6740 for a review on PR #2437.
abrown requested alexcrichton, fitzgen, cfallin and jlb6740 for a review on PR #2437.
abrown updated PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
nit: missing trailing newline
abrown updated PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
abrown updated PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
fitzgen submitted PR Review.
fitzgen created PR Review Comment:
I don't think we need to actually have a new type here. We should be able to pass
*mut EngineState
out and expect that callers won't know how to access its fields or anything.
fitzgen submitted PR Review.
fitzgen created PR Review Comment:
Worth noting in a comment that if we ever want to measure more than one instantiation per process, we will probably want to create a new store for each instantiation.
abrown updated PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
abrown updated PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
abrown updated PR #2437 from bench-api
to main
:
The new crate introduced here,
wasmtime-bench-api
, creates a shared library, e.g.wasmtime_bench_api.so
, for executing Wasm benchmarks using Wasmtime. It allows us to measure several phases separately by exposingengine_compile_module
,engine_instantiate_module
, andengine_execute_module
, which pass around an opaque pointer to the internally initialized state. This state is initialized and freed byengine_create
andengine_free
, respectively. The API also introduces a way of passing in functions to satisfy the"bench" "start"
and"bench" "end"
symbols that we expect Wasm benchmarks to import. The API is exposed in a C-compatible way so that we can dynamically load it (carefully) in our benchmark runner.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
fitzgen submitted PR Review.
fitzgen has marked PR #2437 as ready for review.
fitzgen merged PR #2437.
Last updated: Dec 23 2024 at 12:05 UTC