Avatar for the FuelLabs user
FuelLabs
sway
BlogDocsChangelog

Performance History

Latest Results

Extend compiler metrics with `DeclEngine` metrics (#7664) ## Description This PR adds basic `DeclEngine` metrics to compiler metrics, available via `--metrics-outfile` `forc` CLI option. The metrics give information about slab occupancy and approximate memory usage. ## Checklist - [ ] I have linked to any relevant issues. - [x] I have commented my code, particularly in hard-to-understand areas. - [ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] I have added (or requested a maintainer to add) the necessary `Breaking*` or `New Feature` labels where relevant. - [x] I have done my best to ensure that my PR adheres to [the Fuel Labs Code Review Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md). - [x] I have requested a review from the relevant team or maintainers.
master
15 hours ago
Rename fields and fix `content_memory_usage` formula
ironcev/add-decl-engine-stats-to-compiler-metrics
16 hours ago
Use `HasChanges` to propagate information about in-place mutations (#7662) ## Description This PR is a continuation of #7659 and implements first two points of the proposed Next Steps by: - moving `HasChanges` to a separate `has_changes` module, - returning `HasChanges` from `ReplaceDecls`, instead of `bool`, - returning `HasChanges` from `UpdateConstantExpression`, instead of `()`, - returning `HasChanges` from `MaterializeConstGenerics`, instead of `()`. This PR has a focus on refactoring and not on utilizing the information provided by returned `HasChanges`. Therefore, some implementations could be further simplified but are deliberately left as-is to be as close to straightforward refactoring as possible. E.g., `materialize_const_generics` implementations, like e.g., for `TypeId` can be simplified. Simpler implementation that also check the return value and potentially remove additional unnecessary inserts into `DeclEngine` will be done in a follow up PR. ## Checklist - [x] I have linked to any relevant issues. - [x] I have commented my code, particularly in hard-to-understand areas. - [ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] I have added (or requested a maintainer to add) the necessary `Breaking*` or `New Feature` labels where relevant. - [x] I have done my best to ensure that my PR adheres to [the Fuel Labs Code Review Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md). - [x] I have requested a review from the relevant team or maintainers.
master
22 hours ago
Fix Clippy issue
ironcev/rollout-has-changes
22 hours ago
Review all `materialize_const_generics`
ironcev/rollout-has-changes
24 hours ago
Fix review findings
ironcev/rollout-has-changes
1 day ago
Fix fmt issues
ironcev/rollout-has-changes
2 days ago
Parallelize runs of in-lang tests and shorten storage tests compilation (#7661) ## Description This PR: - shortens the compilation time of storage in-language tests by marking the generic `<...>_impl` functions as `#[inline(never)]`, - parallelizes execution of in-language tests. Combined, this reduces the execution time of the whole in-language test suite from ~6 minutes to ~1 minute. All storage tests have the same structure, testing a particular storage type for different stored types by calling a generic, usually large, `<...>_impl` function for each stored type. Since every monomorphized `<...>_impl` call happens only once, inlining pass will inline them all in a single large function. This creates a lot of preassure on our current inlining algorithm. We will improve the inlining in dedicated optimization PRs. Until then, this PR gives us better test compilation times for storage tests. Compiling all storage tests sequentially before took ~4 minutes and after forbidding inlining takes ~3 minutes. Running tests sequentially is still kept as default, to make sure the current performance script that extracts gas works as-is. Eventually adapting that script and having only the parallel running will be done in a follow up PR. ## Checklist - [ ] I have linked to any relevant issues. - [x] I have commented my code, particularly in hard-to-understand areas. - [ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] I have added (or requested a maintainer to add) the necessary `Breaking*` or `New Feature` labels where relevant. - [x] I have done my best to ensure that my PR adheres to [the Fuel Labs Code Review Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md). - [x] I have requested a review from the relevant team or maintainers.
master
2 days ago

Latest Branches

CodSpeed Performance Gauge
0%
Extend compiler metrics with `DeclEngine` metrics#7664
17 hours ago
32f3b45
ironcev/add-decl-engine-stats-to-compiler-metrics
CodSpeed Performance Gauge
-11%
23 hours ago
a9f7410
ironcev/rollout-has-changes
CodSpeed Performance Gauge
+20%
3 days ago
1bda649
ironcev/optimize-decl-engine-interactions
© 2026 CodSpeed Technology
Home Terms Privacy Docs