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

perf: reduce extra allocation at WebViewBuilderExtWindows::with_additional_browser_args argument #783

Merged
merged 1 commit into from
Dec 3, 2022

Conversation

rhysd
Copy link
Contributor

@rhysd rhysd commented Dec 3, 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:

Does this PR introduce a breaking change?

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

Currently WebViewBuilderExtWindows::with_additional_browser_args argument is typed with AsRef<str>. However the method converts the string slice into string buffer with heap allocation. This causes redundant allocation when String value is passed.

let args: String = ...; // We already have heap-allocated string buffer
builder = builder.with_additional_browser_args(args); // New buffer is allocated

This PR fixes the point.

Strictly speaking, changing from AsRef<str> to Into<String> is a breaking change, but it is very small because major string types like &str, String, and Cow<'a, str> can still be passed to the argument.

@rhysd rhysd requested a review from a team as a code owner December 3, 2022 13:42
Copy link
Member

@amrbashir amrbashir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool, thank you!

@amrbashir amrbashir changed the title Reduce extra allocation at WebViewBuilderExtWindows::with_additional_browser_args argument perf: reduce extra allocation at WebViewBuilderExtWindows::with_additional_browser_args argument Dec 3, 2022
@amrbashir amrbashir merged commit b0ff06a into tauri-apps:dev Dec 3, 2022
@github-actions github-actions bot mentioned this pull request Dec 3, 2022
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