Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


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

Поиск:
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 за предоставленный материал.






Просмотров: 2609

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную