RegExp: Multiple Calls to .replace() vs. Alternation Metacharacter
JavaScript performance comparison
Preparation code
<script>
Benchmark.prototype.setup = function() {
var repStr = "REPLACED!",
lipsum = "Lorem ipsum @dolor sit_ amet, conse6ctetur adi72piscing elit. Aliq}uam nec purus id quam ultrices rutr**um. Praesent ut nunc ve2l metus dapib?us veh6i2cula. Ut3 co4nseq#uat, ante quis aliquam faci/lisis, diam purus auct$#or7 i1psum, quis ali?quam lacus er%os sed tellus.6 P{roin ^sed dui nec diam fer~ment0um vehicula tempus eu fe3lis7. Nulla a purus quis vel?it fe#ugiat feugiat non 9ac 6nisi. Qui8tur elit. Do2nec pel//lentesque3 ultrices lacus, vit4{ae tristique lig$ula rhoncus et. Vestibu?lum felis felis, bibendum@ vel blandit non, ullamcorper quis ur)(na. Sed mole25tie porta gr8avida. Vestibulum ante ipsum primis in faucibus orci luctus et ultric45es posuere cu5b3lia C74urae; Nunc lacin87ia2suscipit tempu*s. D!ui!s dui &augue, rutrum6 eu tincidunt ve**l, aliq3!uet et mauris. Praesent sed eros massa. Susp34e$ndiss0e dapibus, ^est ac blandit semper, lectu(s nu$nc aliquet% purus, id d@igni3ssi)m lorem nisi eget %odio. Sed erat augue, pulvinar 4nec o9rnare vel, suscipit vel lacus. F6usce di@ctum justo arcu. 3Aenean cursus semper diam 4id imperdiet. Nulla facilisi. Duis at erat faucibus purus convallis gravida iaculis eget dolor. Nunc vitae ultricies urna. Proin tortor lorem, iaculis at lacinia in, ultricies faucibus eros. Morbi molestie velit quis ligula dictum vitae adipiscing est elementum. Duis est sem, pulvinar id vestibulum in, egestas at nunc. Cras egestas condimentum ante, sed dapibus magna venenatis varius. Nulla facilisi. Sed nibh metus, ultrices vel dapibus at, bibendum sed urna. Quisque vel fermentum velit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu quam, aliquam non aliquet a, fermentum eu ante. Lorem ipsum @dolor sit_ amet, conse6ctetur adi72piscing elit. Aliq}uam nec purus id quam ultrices rutr**um. Praesent ut nunc ve2l metus dapib?us veh6i2cula. Ut3 co4nseq#uat, ante quis aliquam faci/lisis, diam purus auct$#or7 i1psum, quis ali?quam lacus er%os sed tellus.6 P{roin ^sed dui nec diam fer~ment0um vehicula tempus eu fe3lis7. Nulla a purus quis vel?it fe#ugiat feugiat non 9ac 6nisi. Qui8tur elit. Do2nec pel//lentesque3 ultrices lacus, vit4{ae tristique lig$ula rhoncus et. Vestibu?lum felis felis, bibendum@ vel blandit non, ullamcorper quis ur)(na." + "Sed mole25tie porta gr8avida. Vestibulum ante ipsum primis in faucibus orci luctus et ultric45es posuere cu5b3lia C74urae; Nunc lacin87ia2suscipit tempu*s. D!ui!s dui &augue, rutrum6 eu tincidunt ve**l, aliq3!uet et mauris. Praesent sed eros massa. Susp34e$ndiss0e dapibus, ^est ac blandit semper, lectu(s nu$nc aliquet% purus, id d@igni3ssi)m lorem nisi eget %odio. Sed erat augue, pulvinar 4nec o9rnare vel, suscipit vel lacus. F6usce di@ctum justo arcu. 3Aenean cursus semper diam 4id imperdiet. Nulla facilisi. Duis at erat faucibus purus convallis gravida iaculis eget dolor. Nunc vitae ultricies urna. Proin tortor lorem, iaculis at lacinia in, ultricies faucibus eros. Morbi molestie velit quis ligula dictum vitae adipiscing est elementum. Duis est sem, pulvinar id vestibulum in, egestas at nunc. Cras egestas condimentum ante, sed dapibus magna venenatis varius. Nulla facilisi. Sed nibh metus, ultrices vel dapibus at, bibendum sed urna. Quisque vel fermentum velit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed arcu quam, aliquam non aliquet a, fermentum eu ante."
};
</script>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
Multiple chained .replace() calls |
|
pending… |
Multiple alternation metachars, single .replace() call |
|
pending… |
You can edit these tests or add even more tests to this page by appending /edit to the URL.
0 comments