Skip to content

Demangler: further speed improvements. #7904

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

Merged
merged 1 commit into from
Mar 3, 2017

Conversation

eeckstein
Copy link
Contributor

Avoid using std::string and std::vector in the demangler. Instead use vectors/strings with storage allocated by the NodeFactory’s bump pointer allocator.
This brings another 35% speedup. Especially in the case the Demangle::Context is not reused for subsequent demanglings.

Avoid using std::string and std::vector in the demangler. Instead use vectors/strings with storage allocated by the NodeFactory’s bump pointer allocator.
This brings another 35% speedup. Especially in the case the Demangle::Context is not reused for subsequent demanglings.
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

@swift-ci swift-ci merged commit 254745d into swiftlang:master Mar 3, 2017
@gottesmm
Copy link
Contributor

gottesmm commented Mar 3, 2017

@eeckstein Can you commit a performance test harness for the demangler? Or something like that? That way we can be sure that we do not regress.

@eeckstein eeckstein deleted the demangler-speedup branch March 4, 2017 04:03
@eeckstein
Copy link
Contributor Author

@gottesmm I'm not sure this is worth the effort. But let me think about it.

@rjmccall
Copy link
Contributor

rjmccall commented Mar 4, 2017

We do already have a command-line utility for testing the demangler; if we have an existing C++ harness, it should be easy to hook that up.

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.

4 participants