Skip to content

Instantly share code, notes, and snippets.

@vectart
Created August 9, 2011 12:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vectart/1133922 to your computer and use it in GitHub Desktop.
Save vectart/1133922 to your computer and use it in GitHub Desktop.
RegExp comparing
var lipsum = 'Integer malesuada ligula vel nisi luctus faucibus. Sed imperdiet erat at urna pellentesque eu accumsan orci pharetra. Praesent laoreet sem a erat porttitor ultrices. Aenean pharetra, nisi sed egestas scelerisque, sem nisi lacinia ante, nec laoreet mauris urna a massa. Donec vestibulum, orci a pellentesque molestie, mi eros lobortis ipsum, quis fringilla lacus enim non sapien. Aliquam sed urna ligula. Cras pharetra, sem fermentum bibendum bibendum, nunc magna lacinia risus, non egestas lacus neque quis odio. Donec accumsan nisi luctus velit pretium sed aliquet mauris venenatis. Vestibulum eu mi in sem egestas egestas gravida et lacus. Ut sit amet magna purus, et convallis nulla. Quisque sed urna tortor, in facilisis mi. Donec mollis, quam in porttitor ullamcorper, nisl odio rhoncus magna, ac placerat tellus arcu a metus. Aliquam commodo molestie orci, vitae blandit mi malesuada ac. Nulla at tellus sit amet ipsum eleifend tincidunt elementum quis diam. Mauris enim nulla, sagittis eget eleifend eu, interdum vel nisl. Integer nec elit nulla, et interdum neque. Morbi sagittis, velit at tristique imperdiet, nisi lorem lobortis ante, vitae cursus libero nisi et orci. Etiam at arcu ligula, vitae cursus nisi. Nam eget orci sapien, id imperdiet elit.';
lipsum = lipsum.replace('mi', '<img src="test.jpg" />');
lipsum = lipsum.replace('nisi', '<IMG SRC="test.jpg" />');
console.time('bad');
for(var i = 0; i < 10000; i++) lipsum.replace(/(\b)src\s*=/gi, '$1tempsrc=');
console.timeEnd('bad');
// FF5: 194ms
// Chr: 64ms
console.time('normal');
for(var i = 0; i < 10000; i++) lipsum.replace(/\ssrc=/gi , ' tempsrc=');
console.timeEnd('normal');
// FF5: 118ms
// Chr: 59ms
console.time('good');
for(var i = 0; i < 10000; i++) lipsum.replace(/src=/gi, 'tempsrc=');
console.timeEnd('good');
// FF5: 117ms
// Chr: 62ms
console.time('perfect');
for(var i = 0; i < 10000; i++) lipsum.replace('src=', 'tempsrc=');
console.timeEnd('perfect');
// FF5: 33ms
// Chr: 33ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment