Skip to content
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

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

Merged
merged 3 commits into from
Jul 11, 2022
Merged

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

merged 3 commits into from
Jul 11, 2022

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