我有一些代码可以执行4500个字符串替换操作。
我测量在performance.now()
之前和之后这段代码执行的时间。
有时需要20到30毫秒才能执行,有时则需要1550到1600毫秒。
我无法弄清楚为什么演出如此随机。是某种CPU分支预测失败或Node.js优化以某种方式缓存替换结果吗?
// example `row`:
// row = { pattern: '/some words/', replacement: 'some other words' }
for (const row of replacements) {
// Avoid replacing with the word "undefined":
if (!row.replacement) { row.replacement = ''; }
const regex = new RegExp(row.pattern, 'gi');
modifiedText = modifiedText.replace(regex, row.replacement);
}