Skip to content

Improve performance of *TRIM functions for StringViewArray #12387

@Kev1n8

Description

@Kev1n8

Is your feature request related to a problem or challenge?

StringView provides us a way to directly modify views of an array instead of generating a new StringArray when it comes to string operations like substr, which was done in #12044. I think we can play a similar trick in trim.

Describe the solution you'd like

I've looked into the implementation of general_trim, it uses the str::trim_xxx_matches methods the obtain the "substring". Furthermore, inside the str::trim_xxx_matches method, it first computes the [start, end) boundary and slices the str. The index here is useful for modifying views. Unfortunately, currently the feature Pattern it uses is unstable.

Describe alternatives you've considered

I'm not very sure what alternatives we have. Perhaps either implement our own trim or wait until Pattern is stable in Rust.

Additional context

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions