Skip to content

Add replacement for String.startsWith #100

@jfmengels

Description

@jfmengels

I noticed that String.startsWith can be very slow for large strings when the str does not contain the prefix. The reason being the function actually does a str.indexOf call which will go through the entire function as long as it doesn't find anything.

So I tried benchmarking alternatives.

I tried using the ES2015 startsWith, which is by far faster but doesn't work on IE.

And I also tried another version where we slice the string and compare that to the prefix.

Benchmark

Chrome

Firefox


What do you think of the idea of replacing String.startsWith? Does that sound good?

Maybe we can do something faster in JS where we compare every character one by one.

I also think similar improvements can be made for String.endsWith.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions