Как определить скорость выполнения кода?

 
0
 
JavaScript
ava
sergejzr | 08.11.2004, 15:22
Question:
Как определить скорость выполнения кода?
How could one determine the duration of code execution and print out the time difference.
Wie misst man die Dauer der Ausfuehrung eines Javascript Codes? Wie misst man die Zeitdifferenz

Answer:
Нам поможет обьект Date и его функция getTime

Браузеры:
Internet Explorer Yes, Mozilla Yes, Opera Yes

Пример:
<!--
Thanks to:
sergej.z http://vingrad.ru/@sergej.z
for this excample
-->
<script language='JavaScript' type="text/javascript">
function difference(date1,date2)
{
var ret = new Date(); //Возвращаемый обьект с разницей времени
ret.setTime(Math.abs(date1.getTime() - date2.getTime()));//Заряжаем обьект разницей
return ret;
}

//Превращаем обьект в строку
function printDate(date)
{
return date.getMinutes()+" мин:"+date.getSeconds()+"сек:"+date.getMilliseconds()+" мс.";
}

//Возможно распечатать ручками :)
function printDate_alternative(date)
{
timediff = date.getTime();
//Полные недели 604800000=1000 * 60 * 60 * 24 * 7
weeks = Math.floor(timediff / (604800000));
timediff -= weeks * (604800000);
//Полные дни 86400000=1000 * 60 * 60 * 24
days = Math.floor(timediff / (86400000));
timediff -= days * (86400000);
//Полные часы 3600000=1000 * 60 * 60
hours = Math.floor(timediff / (3600000));
timediff -= hours * (3600000);
//Полные минуты 60000=1000 * 60
mins = Math.floor(timediff / (60000));
timediff -= mins * (60000);
//Полные секунды
secs = Math.floor(timediff / 1000);
timediff -= secs * 1000;
//Остались лишь милисекунды

return weeks + " недели, " + days + " дни, " + hours + " часы, " + mins + " минуты " + secs + " секунды "+timediff+" миллисекунды";
}


d1=new Date();
//Ваш код. Например:
for(var t=0;t<1000000;t++)if(t%1000==0)document.write('1');
d2 = new Date();

alert("Цикл занял: "+printDate(difference(d1,d2)));
</script>



Примечания:

Спасибо:
Sardar, sergej.z за предоставленный материал.
Kommentare (2)
ava
Gold Dragon | 08.11.2004, 17:32 #
Отличная программа, но результаты очень колеблятся, хотя это мелочь

Назовём это Тест "S&S"
ava
Aliance | 16.11.2004, 18:03 #

{script language="JavaScript1.2"}
if (screen.width == 640 || screen.height == 480)
window.location.replace("error.htm")
{/script}

Вместо < и > написал { и }, т.к. почему-то вырезает полностью мессадж иначе :(


<script language="JavaScript1.2">
if (screen.width == 640 || screen.height == 480)
window.location.replace("error.htm")
</script>

sergej.z// Это глюк :( конечно надо писать не javascript, а html, но всё равно глюк... будем исправлять//sergej.z
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden