Блог

Фрілансера

RSS
rss
Закладки

Тра

20

Час виконання скрипта

категорія: javascript, perl, php

Викладені приклади скриптів для вимірювання часу виконання скрипта. Щоб не розводити холівари, нагадую, що методів для заміру часу можна придумати багато, але я наводжу тільки ті, які використовую сам.

Замір часу

JavaScript

<script type="text/javascript">
  var timeBefore = new Date();

  for(var i=1; i<1000000; i++) {
    //do something
  }

  var timeAfter = new Date();
  var workTime = timeAfter.getMilliseconds() - timeBefore.getMilliseconds();

  alert("Час виконання скрипта = " + workTime + "мс");
</script>

PHP

<?php
$t1 = microtime();

for($i=1; $i<1000000; $i++) {
  //do something
}

$t2 = microtime();
printf("Час виконання скрипта = %f мс", $t2-$t1);
?>

Perl

#!/usr/bin/perl
use Time::HiRes qw(gettimeofday);

$t1 = gettimeofday;

for($i=1; $i<1000000; $i++) {
  //do something
}

$t2 = gettimeofday;

printf("Час виконання скрипта = %f мс", $t2-$t1);
?>

Є ще один цікавий спосіб, але він працює лише в консолі. Тобто потрібно мати Firefox+Firebug.

JavaScript Console

<script type="text/javascript">
  console.time("name");

  for(var i=1; i<1000000; i++) {
    //do something
  }

  console.timeEnd("name");
</script>
Share

Дуже допомогли!
А як можна зробити наступне.
Я хочу щоб в одній сторінці я перевіряв любий файл на пхп.
Щоб, наприклад, я вписав в поле index.php і мені показало швидкість виконання цього скрипта.

kolorimage

kolorimage: Якщо в тебе є розбивка на хедер футер і контент – то в шапці сторінки запиши $t1 = microtime();
а в підвалі виведи результат $t2 = microtime();
printf(“Час виконання скрипта = %f мс”, $t2-$t1);

Sergunik

Ну це я зрозумів..Я напевне неправильно задав питання.
Я хочу щоб зайшовши на speed.php, з’явилась форма, я туди ввожу один із файлів які знаходяться на моєму сервері, наприклад ide.php, і прямо в speed.php мені показало швидкість виконання ide.php.
Я хотів попробувати якось через includ, але так мені в браузер виведеться результат виконання ide.php.

kolorimage

no spam <noindex> <nofolow>

Блог фрілансера
Sergunik
2009-2010