RegexVsSplitReplaceAll (v2)

Revision 2 of this benchmark created by Xav Laumonier on


Description

.replace only replaces first instance of search string. to replace all we can either use a greedy regex or split (split on search and join on replacement). Which is faster tho?

Setup

var str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris egestas porta ligula adipiscing fermentum. In metus lectus, ultrices a pretium vel, volutpat nec libero. Fusce sed ultricies odio. Suspendisse sed urna enim. Curabitur bibendum tortor neque, vel laoreet leo porta id. Nulla egestas at justo blandit viverra. Ut eu metus non elit dignissim commodo. Vestibulum id quam sollicitudin, interdum augue eu, adipiscing purus. Nunc ac nulla metus. Nunc sed odio fringilla, interdum urna sit amet, consequat nulla.In hac habitasse platea dictumst. Nunc id tristique neque. Ut vel imperdiet lorem. Vivamus ac sodales est. Integer eget elit elementum nisi auctor suscipit. Nam luctus ultricies consectetur. Mauris a lectus accumsan, iaculis sapien non, ultricies quam. Mauris rhoncus vestibulum sagittis. Aliquam vel accumsan nisi, vel malesuada turpis. Integer rutrum dignissim est, sed pellentesque neque. Suspendisse scelerisque, neque ultrices varius vehicula, nisl turpis fringilla magna, id porttitor tortor metus eu ante. Ut bibendum ipsum ac tellus sollicitudin, eget accumsan arcu egestas. Pellentesque erat est, viverra sed neque vel, sodales venenatis metus. Vivamus aliquet felis sed magna vehicula, non luctus risus auctor. Proin mattis hendrerit ipsum.Curabitur malesuada nibh sit amet lorem ullamcorper, at eleifend purus lobortis. Praesent a volutpat nulla. Ut bibendum orci sed arcu pretium lacinia. Suspendisse potenti. Nullam augue turpis, molestie non placerat sit amet, molestie sed est. Praesent odio enim, rhoncus vitae posuere sit amet, posuere eu ipsum. Ut purus turpis, consectetur sed elementum eget, hendrerit eget justo. Aliquam a urna nunc.Nunc rutrum arcu dolor, eu pellentesque diam egestas in. Morbi varius cursus ipsum, et convallis ligula. Pellentesque lorem lacus, porttitor non ante quis, pharetra blandit ipsum. Sed blandit, diam non porttitor dictum, arcu tortor tincidunt dui, id pellentesque metus magna id eros. Ut et tellus eget massa vehicula gravida eget ut nulla. Donec lobortis porta dui, nec suscipit massa laoreet nec. Fusce quam mauris, facilisis eget arcu id, dignissim ultrices nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus nulla ante, tincidunt sed dolor nec, blandit consequat libero. Donec quis erat at quam sollicitudin fermentum at non ipsum.Aliquam sed diam sit amet nibh vehicula sodales. Duis vulputate sit amet elit vitae iaculis. Duis rutrum, urna sit amet feugiat auctor, massa magna mollis turpis, in aliquet mauris augue id urna. Mauris a lectus risus. Suspendisse volutpat a neque et iaculis. Vestibulum et cursus est. Donec nec lectus ut risus interdum feugiat. Integer lacinia faucibus dictum. Aenean tristique a nibh ac volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris egestas porta ligula adipiscing fermentum. In metus lectus, ultrices a pretium vel, volutpat nec libero. Fusce sed ultricies odio. Suspendisse sed urna enim. Curabitur bibendum tortor neque, vel laoreet leo porta id. Nulla egestas at justo blandit viverra. Ut eu metus non elit dignissim commodo. Vestibulum id quam sollicitudin, interdum augue eu, adipiscing purus. Nunc ac nulla metus. Nunc sed odio fringilla, interdum urna sit amet, consequat nulla.In hac habitasse platea dictumst. Nunc id tristique neque. Ut vel imperdiet lorem. Vivamus ac sodales est. Integer eget elit elementum nisi auctor suscipit. Nam luctus ultricies consectetur. Mauris a lectus accumsan, iaculis sapien non, ultricies quam. Mauris rhoncus vestibulum sagittis. Aliquam vel accumsan nisi, vel malesuada turpis. Integer rutrum dignissim est, sed pellentesque neque. Suspendisse scelerisque, neque ultrices varius vehicula, nisl turpis fringilla magna, id porttitor tortor metus eu ante. Ut bibendum ipsum ac tellus sollicitudin, eget accumsan arcu egestas. Pellentesque erat est, viverra sed neque vel, sodales venenatis metus. Vivamus aliquet felis sed magna vehicula, non luctus risus auctor. Proin mattis hendrerit ipsum.Curabitur malesuada nibh sit amet lorem ullamcorper, at eleifend purus lobortis. Praesent a volutpat nulla. Ut bibendum orci sed arcu pretium lacinia. Suspendisse potenti. Nullam augue turpis, molestie non placerat sit amet, molestie sed est. Praesent odio enim, rhoncus vitae posuere sit amet, posuere eu ipsum. Ut purus turpis, consectetur sed elementum eget, hendrerit eget justo. Aliquam a urna nunc.Nunc rutrum arcu dolor, eu pellentesque diam egestas in. Morbi varius cursus ipsum, et convallis ligula. Pellentesque lorem lacus, porttitor non ante quis, pharetra blandit ipsum. Sed blandit, diam non porttitor dictum, arcu tortor tincidunt dui, id pellentesque metus magna id eros. Ut et tellus eget massa vehicula gravida eget ut nulla. Donec lobortis porta dui, nec suscipit massa laoreet nec. Fusce quam mauris, facilisis eget arcu id, dignissim ultrices nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus nulla ante, tincidunt sed dolor nec, blandit consequat libero. Donec quis erat at quam sollicitudin fermentum at non ipsum.Aliquam sed diam sit amet nibh vehicula sodales. Duis vulputate sit amet elit vitae iaculis. Duis rutrum, urna sit amet feugiat auctor, massa magna mollis turpis, in aliquet mauris augue id urna. Mauris a lectus risus. Suspendisse volutpat a neque et iaculis. Vestibulum et cursus est. Donec nec lectus ut risus interdum feugiat. Integer lacinia faucibus dictum. Aenean tristique a nibh ac volutpat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris egestas porta ligula adipiscing fermentum. In metus lectus, ultrices a pretium vel, volutpat nec libero. Fusce sed ultricies odio. Suspendisse sed urna enim. Curabitur bibendum tortor neque, vel laoreet leo porta id. Nulla egestas at justo blandit viverra. Ut eu metus non elit dignissim commodo. Vestibulum id quam sollicitudin, interdum augue eu, adipiscing purus. Nunc ac nulla metus. Nunc sed odio fringilla, interdum urna sit amet, consequat nulla.In hac habitasse platea dictumst. Nunc id tristique neque. Ut vel imperdiet lorem. Vivamus ac sodales est. Integer eget elit elementum nisi auctor suscipit. Nam luctus ultricies consectetur. Mauris a lectus accumsan, iaculis sapien non, ultricies quam. Mauris rhoncus vestibulum sagittis. Aliquam vel accumsan nisi, vel malesuada turpis. Integer rutrum dignissim est, sed pellentesque neque. Suspendisse scelerisque, neque ultrices varius vehicula, nisl turpis fringilla magna, id porttitor tortor metus eu ante. Ut bibendum ipsum ac tellus sollicitudin, eget accumsan arcu egestas. Pellentesque erat est, viverra sed neque vel, sodales venenatis metus. Vivamus aliquet felis sed magna vehicula, non luctus risus auctor. Proin mattis hendrerit ipsum.Curabitur malesuada nibh sit amet lorem ullamcorper, at eleifend purus lobortis. Praesent a volutpat nulla. Ut bibendum orci sed arcu pretium lacinia. Suspendisse potenti. Nullam augue turpis, molestie non placerat sit amet, molestie sed est. Praesent odio enim, rhoncus vitae posuere sit amet, posuere eu ipsum. Ut purus turpis, consectetur sed elementum eget, hendrerit eget justo. Aliquam a urna nunc.Nunc rutrum arcu dolor, eu pellentesque diam egestas in. Morbi varius cursus ipsum, et convallis ligula. Pellentesque lorem lacus, porttitor non ante quis, pharetra blandit ipsum. Sed blandit, diam non porttitor dictum, arcu tortor tincidunt dui, id pellentesque metus magna id eros. Ut et tellus eget massa vehicula gravida eget ut nulla. Donec lobortis porta dui, nec suscipit massa laoreet nec. Fusce quam mauris, facilisis eget arcu id, dignissim ultrices nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus nulla ante, tincidunt sed dolor nec, blandit consequat libero. Donec quis erat at quam sollicitudin fermentum at non ipsum.Aliquam sed diam sit amet nibh vehicula sodales. Duis vulputate sit amet elit vitae iaculis. Duis rutrum, urna sit amet feugiat auctor, massa magna mollis turpis, in aliquet mauris augue id urna. Mauris a lectus risus. Suspendisse volutpat a neque et iaculis. Vestibulum et cursus est. Donec nec lectus ut risus interdum feugiat. Integer lacinia faucibus dictum. Aenean tristique a nibh ac volutpat.';
    var replacement = 'ipsum';
    var search = 'lorem';
    var regex = new RegExp(search, 'g');

Test runner

Ready to run.

Testing in
TestOps/sec
split-replace
str.split(search).join(replacement);
ready
regex
str.replace(regex, replacement);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by sam adams on
  • Revision 2: published by Xav Laumonier on