Сообщение Re[11]: JS. Откуда такая разница в скорости? от 10.06.2024 20:29
Изменено 10.06.2024 20:33 rFLY
Re[11]: JS. Откуда такая разница в скорости?
Здравствуйте, Pauel, Вы писали:
P>Проверил, похоже это всё property lookup
P>
А если локальную переменную заменить на локальный объект (let sum = 0 на let o = {sum: 0})
то отработает еще на 120 быстрее (интел, эдж последней версии)
P>Проверил, похоже это всё property lookup
P>
P>globalThis.sum += val
P>
А если локальную переменную заменить на локальный объект (let sum = 0 на let o = {sum: 0})
//let sum = 0;
let o = {sum: 0};
for (let i = 0; i < 100_000_000; i++)
{
let obj = new BaseClass();
let val = obj.TestMethod();
//sum += val;
o.sum += val;
}
то отработает еще на 120 быстрее (интел, эдж последней версии)
противс let sum = 0
4999999950000000
1: 408.7000002861023
4999999950000000
2: 390.7999997138977
с let o = {sum: 0};
4999999950000000
1: 409.40000009536743
4999999950000000
2: 271.69999980926514
Re[11]: JS. Откуда такая разница в скорости?
Здравствуйте, Pauel, Вы писали:
P>Проверил, похоже это всё property lookup
P>
А если локальную переменную заменить на локальный объект (let sum = 0 на let o = {sum: 0})
то отработает еще на 120 быстрее (интел, эдж последней версии)
P>Проверил, похоже это всё property lookup
P>
P>globalThis.sum += val
P>
А если локальную переменную заменить на локальный объект (let sum = 0 на let o = {sum: 0})
//let sum = 0;
let o = {sum: 0};
for (let i = 0; i < 100_000_000; i++)
{
let obj = new BaseClass();
let val = obj.TestMethod();
//sum += val;
o.sum += val;
}
то отработает еще на 120 быстрее (интел, эдж последней версии)
противс let sum = 0
4999999950000000
1: 408.7000002861023
4999999950000000
2: 390.7999997138977
с let o = {sum: 0};
4999999950000000
1: 409.40000009536743
4999999950000000
2: 271.69999980926514