Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
RegEx vs For Loop TestML
(version: 1)
-
Comparing performance of:
RegEx vs For Loop
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
var html = `E-mail: Van: jasmijngoutier@hmail.com Aan: r.haverschmidt@wecare.nl (hierbij staat: het e-mailadres van de ontvanger) Onderwerp: te lage stagevergoeding (hierbij staat: Het onderwerp geeft aan waar je brief over gaat. Het is het eerste wat de ontvanger leest. Zorg er daarom voor dat het helder en zo precies mogelijk is geformuleerd.) Bijgevoegd: stagecontract.pdf (hierbij staat: de bijlage) Beste meneer Haverschmidt, (hierbij staat: de aanhef) Ik schrijf u deze mail, omdat ik denk dat ik te weinig stagevergoeding krijg. Sinds september loop ik stage bij WeCare als verzorgende IG, locatie Boterbloem. Ik krijg daarvoor een stagevergoeding van € 80 per maand. Twee klasgenoten van me lopen ook stage bij WeCare, maar dan op locatie Madelief. Zij doen hetzelfde werk als ik, maar zij krijgen € 120 stagevergoeding per maand. (Bij deze witregel staat: witregel tussen de alinea’s) Het is natuurlijk vreemd dat we voor hetzelfde werk een verschillende stagevergoeding krijgen. Ik verzoek u dan ook mijn stagecontract (zie bijlage) nog eens te bekijken en na te gaan of er inderdaad een vergissing is gemaakt. Als dit het geval is, wil ik graag evenveel stagevergoeding krijgen als mijn klasgenoten. Ik hoop snel van u te horen zodat ik weet waar ik aan toe ben. Met vriendelijke groet, (hierbij staat: de slotgroet) Jasmijn Goutier (hierbij staat: de afzender)`;
Script Preparation code:
var html = `E-mail: Van: jasmijngoutier@hmail.com Aan: r.haverschmidt@wecare.nl (hierbij staat: het e-mailadres van de ontvanger) Onderwerp: te lage stagevergoeding (hierbij staat: Het onderwerp geeft aan waar je brief over gaat. Het is het eerste wat de ontvanger leest. Zorg er daarom voor dat het helder en zo precies mogelijk is geformuleerd.) Bijgevoegd: stagecontract.pdf (hierbij staat: de bijlage) Beste meneer Haverschmidt, (hierbij staat: de aanhef) Ik schrijf u deze mail, omdat ik denk dat ik te weinig stagevergoeding krijg. Sinds september loop ik stage bij WeCare als verzorgende IG, locatie Boterbloem. Ik krijg daarvoor een stagevergoeding van € 80 per maand. Twee klasgenoten van me lopen ook stage bij WeCare, maar dan op locatie Madelief. Zij doen hetzelfde werk als ik, maar zij krijgen € 120 stagevergoeding per maand. (Bij deze witregel staat: witregel tussen de alinea’s) Het is natuurlijk vreemd dat we voor hetzelfde werk een verschillende stagevergoeding krijgen. Ik verzoek u dan ook mijn stagecontract (zie bijlage) nog eens te bekijken en na te gaan of er inderdaad een vergissing is gemaakt. Als dit het geval is, wil ik graag evenveel stagevergoeding krijgen als mijn klasgenoten. Ik hoop snel van u te horen zodat ik weet waar ik aan toe ben. Met vriendelijke groet, (hierbij staat: de slotgroet) Jasmijn Goutier (hierbij staat: de afzender)`;
Tests:
RegEx
const r = new RegExp(/(?<!@)@(?!@)/g); const escapedAtSign = '@'; html.replace(r, escapedAtSign);
For Loop
for (let i = 0; i < length; i++) { if (html[i] === '@') { // Check if the @ is not preceded or followed by another @ if ((i === 0 || html[i - 1] !== '@') && (i === length - 1 || html[i + 1] !== '@')) { html = html.substring(0, i) + escapedAtSign + html.substring(i + 1); length = html.length; } } }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
RegEx
For Loop
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0
Browser/OS:
Firefox 133 on Windows
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
RegEx
659212.0 Ops/sec
For Loop
5118457.0 Ops/sec
Related benchmarks:
replacing node text
Array split vs string substring big text
1f6e53a6-0de2-4e9e-b160-f502c0678a94
mp loop test
Javascript: Case insensitive string comparison performance 3
String iteration optimized
6k Test
1k Test
100 test
Comments
Confirm delete:
Do you really want to delete benchmark?