-
Notifications
You must be signed in to change notification settings - Fork 8
fix(unix-memory): fix bugs for unix memory #77
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
Open
dmitry123
wants to merge
24
commits into
devel
Choose a base branch
from
fix/unix-memory
base: devel
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…port stack values; perf graphs (flamgraph) to measure perfomance; generic impl for reusable pools (for ValueStack and CallStack); improved hashmaps perf by changing hash builder to a faster one; rewrote RwasmStore.(tables|global_variables) onto Vec for perfomance; unix-speciific memory pool optimization (#53) * feat(segment-caching): simple BitVecInlined wrapper for BitVec * feat(segment-caching): fix std error * feat(segment-caching): fix bug, extend unit-test * feat(segment-caching): implemented stack based BitVec (BitVecInlined) replacement and integrated into RwasmStore; measured perfomance of fibbonachi app execution on rwasm with perf and visualized with flamegraph; implemented benchmarks for BitVecInlined and fibonnachi app execution using * feat(segment-caching): renamings for clarity * feat(segment-caching): added load perfomance graph * feat(segment-caching): fix std problem * feat(segment-caching): updated flamegraphs * feat(rwasm): implemented&integrated reusable pool for ValueStack * feat(rwasm): implemented generic reusable pool and integrated for ValueStack and CallStack * feat(rwasm): cleanup * feat(rwasm): cleanup * feat(rwasm): move reusable pools from RwasmStore to ExecutionEngineInner * feat(rwasm): fix no-std issues + cleanup * feat(rwasm): optimise perfomance of ValueStackPtr by making it repr(transparent) * feat(rwasm): improve hashmap perf by replacing hash build with fnv::FnvBuildHasher; do not create elements with capacity in TableEntity for perfomance * feat(rwasm): rewrote RwasmStore.tables onto Vec instead of hashmap for perfomance * feat(rwasm): fix no-std issue * feat(rwasm): rewrote RwasmStore.global_variables onto Vec instead of hashmap for perfomance * feat(rwasm): cleanup * feat(rwasm): optimised work with store.global_variables and store.tables for perfomance; added benches for Hashmap and Vec to compare perf * feat(rwasm): fix bench * feat(rwasm): perf fix * feat(rwasm): cleanup * feat(rwasm): added make test * feat(rwasm): uncommented bitvec_inlined; cleanup * feat(rwasm): fixes * feat(rwasm): cover bitvec_inlined with feature * feat(rwasm): fixed bug for RwasmStore.global_variables processing * feat(rwasm): fixes to benches * feat(rwasm): cleanup * feat(rwasm): cleanup * chore: add evm benchmarks * feat(rwasm): removed 1 flame graph * chore: add benchamrks for fib32/fib64 * feat(rwasm): added perf graph for bench_evm * chore: fix running fib32 bench * feat(rwasm): added perf graph for fib64 * feat(rwasm): added perf for fib64 * feat(rwasm): perf graph for fib64 * feat(rwasm): fix perf graph * feat(rwasm): inline for some new alu methods; fix bench collission * fix: fix running tests, optimized reusable stacks, put tests related functionality from value stack under flag * feat(rwasm): fix bench group name * chore: tiny fixes * fix: add fib256 benches, fix missing virtual stack alloc for benches, fix project compilation in tracer mode, fix typo with global memory init with max possible capacity, fixed module serialization, add evm machine executor, add trace extractor for fib32, fib64, fib64 tests * feat(rwasm): global memory implementation using unix low level optimisations * feat(rwasm): renamings * feat(rwasm): fix feature name * feat(rwasm): file renaming * feat(rwasm): added fib32 test as regular test for trials --------- Co-authored-by: Dmitry Savonin <[email protected]>
…58) * feat(rwasm-optimisation): global memory reusability * feat(rwasm-optimisation): recycling global memory v1 (RwasmStore) * feat(rwasm-optimisation): warmup for recycling global memory * feat(rwasm-optimisation): small fixes * feat(rwasm-optimisation): support fallback to BytesMut-based GlobalMemory in case if memory pool exhahusted * feat(rwasm-optimisation): uncomment benches * feat(rwasm-optimisation): renamings+ordering; fix probolem with fallback strategy * feat(rwasm-optimisation): improved reusable pool; forked setjmp crate and removed check * fix(pooilng-memory): enabled pooling memory by default, remove guard memory pages * bench: add new benches for module parsing and compilation --------- Co-authored-by: Dmitry Savonin <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3 to 11. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](dawidd6/action-download-artifact@v3...v11) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-version: '11' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ry only for unix; rewrote some benches using iter_batched strategy (#60) * feat(rwasm-optimisation): turn on pooling-allocator; enable unix-memory only for unix * feat(rwasm-optimisation): reuse iter_batched for all possible benches * feat(rwasm-optimisation): perf graph for fib32 on wasmtime * feat(rwasm-optimisation): rollback iter_batched to iter for bench_strategy * chore: tiny dep fix --------- Co-authored-by: Dmitry Savonin <[email protected]>
* fix: don't store acquired call/value stack inside engine * feat(vm): implement reusable memories/stack, fix bug with clearing on-demand memory, add engine config with memory allocator config, tiny engine refactoring
* fix: default config for shared engine * chore: warning fixes
- Update all workspace members to reference fluent-rwasm via package alias - Update Makefile test commands to use new package name - Add trailing newlines to Cargo.toml files for consistency
chore: rename to fluent-rwasm and add crates.io publishing
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Criterion results (vs baseline)Heads-up: runner perf is noisy; treat deltas as a smoke check. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.