История изменений
Исправление mydibyje, (текущая версия) :
Это на первом прогоне, прогнал несколько раз, результаты ниже в миллисек. Получается ФФ правильнее обрабатывает short-circuit evaluation, чем Хром.
Конечно, как заметили в начале темы, хотелось бы увидеть выхлоп байткода от Ignition и последующий маш.код от Turbofan по этому куску, но не знаю как. 🤷♂️
function aA() {
const a = 'Android';
const getA = (ab) => {return ab === 'android' || ab === 'Android';};
console.time("ms");
for(let i = 0; i < 1000 * 1000 * 1000; i++) {getA(a);}
console.timeEnd("ms");
}
for(let i = 0; i < 10; i++) aA();
function Aa() {
const a = 'Android';
const getA = (ab) => {return ab === 'Android' || ab === 'android';};
console.time("ms");
for(var i = 0; i < 1000 * 1000 * 1000; i++) {getA(a);}
console.timeEnd("ms");
}
for(let i = 0; i < 10; i++) Aa();
№ | Chrome Aa | Chrome aA | Firefox Aa | Firefox aA |
---|---|---|---|---|
1. | 2014 | 507 | 1019 | 1022 |
2. | 4278 | 518 | 3315 | 4359 |
3. | 253 | 253 | 3319 | 4324 |
4. | 251 | 252 | 3302 | 4323 |
5. | 253 | 254 | 3311 | 4340 |
6. | 251 | 254 | 3302 | 4429 |
7. | 254 | 257 | 3313 | 4377 |
8. | 252 | 269 | 3301 | 4335 |
9. | 253 | 259 | 3300 | 4321 |
10. | 251 | 257 | 3313 | 4314 |
Исправление mydibyje, :
Это на первом прогоне, прогнал несколько раз, результаты ниже в миллисек. Получается ФФ правильнее обрабатывает short-circuit evaluation, чем Хром.
Конечно, как заметили в начале темы, хотелось бы увидеть выхлоп байткода от Ignition и последующий маш.код от Turbofan по этому куску, но не знаю как. 🤷♂️
function aA() {
const a = 'Android';
const getA = (ab) => {return ab === 'android' || ab === 'Android';};
console.time("ms");
for(let i = 0; i < 1000 * 1000 * 1000; i++) {getA(a);}
console.timeEnd("ms");
}
for(let i = 0; i < 10; i++) aA();
function Aa() {
const a = 'Android';
const getA = (ab) => {return ab === 'Android' || ab === 'android';};
console.time("ms");
for(var i = 0; i < 1000 * 1000 * 1000; i++) {getA(a);}
console.timeEnd("ms");
}
for(let i = 0; i < 10; i++) Aa();
Chrome Aa | Chrome aA | Firefox Aa | Firefox aA |
---|---|---|---|
2014 | 507 | 1019 | 1022 |
4278 | 518 | 3315 | 4359 |
253 | 253 | 3319 | 4324 |
251 | 252 | 3302 | 4323 |
253 | 254 | 3311 | 4340 |
251 | 254 | 3302 | 4429 |
254 | 257 | 3313 | 4377 |
252 | 269 | 3301 | 4335 |
253 | 259 | 3300 | 4321 |
251 | 257 | 3313 | 4314 |
Исходная версия mydibyje, :
Это на первом прогоне, прогнал несколько раз, результаты ниже. Получается ФФ правильнее обрабатывает short-circuit evaluation, чем Хром.
Конечно, как заметили в начале темы, хотелось бы увидеть выхлоп байткода от Ignition и последующий маш.код от Turbofan по этому куску, но не знаю как. 🤷♂️
function aA() {
const a = 'Android';
const getA = (ab) => {return ab === 'android' || ab === 'Android';};
console.time("ms");
for(let i = 0; i < 1000 * 1000 * 1000; i++) {getA(a);}
console.timeEnd("ms");
}
for(let i = 0; i < 10; i++) aA();
function Aa() {
const a = 'Android';
const getA = (ab) => {return ab === 'Android' || ab === 'android';};
console.time("ms");
for(var i = 0; i < 1000 * 1000 * 1000; i++) {getA(a);}
console.timeEnd("ms");
}
for(let i = 0; i < 10; i++) Aa();
Chrome Aa | Chrome aA | Firefox Aa | Firefox aA |
---|---|---|---|
2014 | 507 | 1019 | 1022 |
4278 | 518 | 3315 | 4359 |
253 | 253 | 3319 | 4324 |
251 | 252 | 3302 | 4323 |
253 | 254 | 3311 | 4340 |
251 | 254 | 3302 | 4429 |
254 | 257 | 3313 | 4377 |
252 | 269 | 3301 | 4335 |
253 | 259 | 3300 | 4321 |
251 | 257 | 3313 | 4314 |