Skip to content

feat: reduce the amount of heck-related allocations#4634

Merged
lucasfernog merged 3 commits intotauri-apps:devfrom
vrmiguel:feat/remove-some-heck-allocations
Jul 11, 2022
Merged

feat: reduce the amount of heck-related allocations#4634
lucasfernog merged 3 commits intotauri-apps:devfrom
vrmiguel:feat/remove-some-heck-allocations

Conversation

@vrmiguel
Copy link
Contributor

@vrmiguel vrmiguel commented Jul 9, 2022

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Docs
  • New Binding issue #___
  • Code style update
  • Refactor
  • Build-related changes
  • Other, please describe: Super slight performance improvements

Does this PR introduce a breaking change?

  • Yes, and the changes were approved in issue #___
  • No

Checklist

  • When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
  • A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
  • I have added a convincing reason for adding this feature, if necessary

Other information

Hi! This small PR avoids heap allocations caused by casing conversions, whenever possible.

Example:

// Current code
// Three Strings are allocated below, two of them immediately freed after
format!(
    "CARGO_FEATURE_{}",
    feature
         .to_snake_case()
         .to_uppercase()
  )
// Proposed code
// Only the string returned by `format` is allocated
format!("CARGO_FEATURE_{}", AsShoutySnakeCase(feature))
// AsShoutySnakeCase is a struct which performs the conversion in its Display implementation

@vrmiguel vrmiguel requested a review from a team as a code owner July 9, 2022 17:18
@lucasfernog lucasfernog merged commit bc370e3 into tauri-apps:dev Jul 11, 2022
@vrmiguel vrmiguel deleted the feat/remove-some-heck-allocations branch July 11, 2022 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants