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

Optimize StringUtils.cleanPath #22568

Closed
Tracked by #22560
philwebb opened this issue Mar 11, 2019 · 0 comments
Closed
Tracked by #22560

Optimize StringUtils.cleanPath #22568

philwebb opened this issue Mar 11, 2019 · 0 comments
Assignees
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement
Milestone

Comments

@philwebb
Copy link
Member

The StringUtils.cleanPath method is called ~600 times with a typical Spring Boot application and mostly with paths that are already correct. I think we can safely bypass String splitting and re-concatenation if the path does not contain ..

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Mar 11, 2019
@sbrannen sbrannen added type: task A general task in: core Issues in core modules (aop, beans, core, context, expression) labels Mar 12, 2019
@philwebb philwebb self-assigned this Mar 13, 2019
snicoll pushed a commit to snicoll/spring-framework that referenced this issue Mar 13, 2019
Add an early exit to `StringUtils.cleanPath` to save array creating and
string concatenation. With a typical Spring application, the `cleanPath`
method can be called over 600 times, often with a path constructed by
a `ClassPathResource` that is likely to already be clean.

Closes spring-projectsgh-22568
philwebb added a commit to philwebb/spring-framework that referenced this issue Mar 14, 2019
Add an early exit to `StringUtils.cleanPath` to save array creating and
string concatenation. With a typical Spring application, the `cleanPath`
method can be called over 600 times, often with a path constructed by
a `ClassPathResource` that is likely to already be clean.

Closes spring-projectsgh-22568
@jhoeller jhoeller added type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged or decided on type: task A general task labels Mar 23, 2019
@jhoeller jhoeller added this to the 5.2 M1 milestone Mar 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

4 participants