commit | 895aaa03a847bca6b5db47f4033ccdd0a671a971 | [log] [tgz] |
---|---|---|
author | Taylor Cramer <cramertj@google.com> | Wed Jul 26 15:13:20 2023 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jul 26 15:13:20 2023 +0000 |
tree | ef6b1885d9ac36c08458ac4ea0570dfc5f27b9ab | |
parent | f9baecd1044c6dbdc1abb70a913f99399eb5543b [diff] |
pw_bloat: Cache and optimize label production The creation of per-data-source labels was previously observed to cause indefinite execution of `pw bloat` operations on large diffs. After this change, some indefinitely-executing samples now run in less than a tenth of a second. One particular benchmark moved from 120 seconds to 0.02 seconds. It may still be worth exploring how to avoid the exponentially recursive structure of `_per_data_source_labels`, but for now the simple introduction of caching appears to have sufficiently addressed the issue. Change-Id: I0818f4ccc0519c5533c14cd2b0bbb328d23692d7 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/159474 Reviewed-by: Armando Montanez <amontanez@google.com> Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com> Pigweed-Auto-Submit: Taylor Cramer <cramertj@google.com> Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.