Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2015, 10:23
Интересующийся
Отправить личное сообщение для iwtn Посмотреть профиль Найти все сообщения от iwtn
 
Регистрация: 24.12.2013
Сообщений: 16

Глюк или я хотел бы знать почему так происходит.
Первая функция всегда медленнее, почему? Не могу понять!
Особенно заметно это в Chrome, он как будто разогревается (последующие запуски чуть быстрее). Но главное сохраняется всегда: первая функция всегда медленнее.



function cmpobjs (f1, f2) {
    return f1.time<f2.time?-1:(f1.time>f2.time?1:0);
};

function sorti(m)
{
    m.sort();
}



var funs=[
    {f: sorti, fn: "sorti_1_slower_than_others", time: 0},
    {f: sorti, fn: "sorti_2", time: 0},
    {f: sorti, fn: "sorti_3", time: 0},
    {f: sorti, fn: "sorti_4", time: 0},
    {f: sorti, fn: "sorti_5", time: 0},
    {f: sorti, fn: "sorti_6", time: 0},
    {f: sorti, fn: "sorti_7", time: 0},
    {f: sorti, fn: "sorti_8", time: 0},
    {f: sorti, fn: "sorti_9", time: 0},
];



var i,m,data=[],str="";

  for (i=1;i<=77777;i++) 
   data[i]="string"+Math.random();

for (i=0;i<funs.length;i++) {
    m=data.slice();
    t1 = performance.now();
    funs[i].f(m);
    t2 = performance.now();
    funs[i].time=t2-t1;
}

funs.sort(cmpobjs);
//console.log("\nResults:");
str="Results:\n";
for (i=0;i<funs.length;i++) {
    //console.log(funs[i].fn + ": " + (funs[i].time).toFixed(4) + " мс");
   str+=funs[i].fn + ": " + (funs[i].time).toFixed(4) + " мс\n";

}
alert(str);

Последний раз редактировалось iwtn, 05.12.2015 в 12:01.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Так есть или нет innerHTML в теге <OBJECT> и DOM-объекте типа OBJECT? Маэстро Events/DOM/Window 17 09.06.2011 14:27
То ли лыжи не едут, то ли я... или почему 3+5=35? AndreyOo Элементы интерфейса 8 03.04.2011 16:57
Почему так происходит. demoniqus Общие вопросы Javascript 1 27.03.2011 16:28
Профайлинг. jquery.clean() и jquery.after() - почему так долго? bmziskin jQuery 4 23.11.2010 15:18
Почему так получается? lukingnu jQuery 0 31.07.2010 15:50