У меня есть код, который выполняет 4500 операций по замене строк.
Я измеряю, сколько времени занимает выполнение этого кода, используя performance.now()
до и после.
Иногда это занимает 20-30 мсвыполнить, и иногда это занимает 1550-1600 мс.
Я не могу понять, почему производительность может быть такой случайной.Это какой-то сбой предсказания ветвления ЦП или оптимизация 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);
}