Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: php-timer
Форумы портала PHP.SU » » Вопросы новичков » php-timer

Страниц (1): [1]
 

1. Perun - 18 Сентября, 2020 - 18:09:58 - перейти к сообщению
Собственно вопрос про вышеуказанную библиотеку.

PHP:
скопировать код в буфер обмена
  1.  
  2. require __DIR__ . '/vendor/autoload.php';
  3.  
  4. use SebastianBergmann\Timer\ResourceUsageFormatter;
  5. use SebastianBergmann\Timer\Timer;
  6. $timer = new Timer;
  7. $timer->start();
  8. foreach (\range(0, 100000) as $i) {
  9.     // ...
  10. }
  11. print (new ResourceUsageFormatter)->resourceUsage($timer->stop());
  12.  


Тут цикл только для того, чтобы создать видимость какой-то работы?

Если нужно посмотреть, сколько времени и памяти потребляется, можно просто вместо этого цикла поместить код, который оценивается?

Или этот цикл для чего то другого?

Ну и про форму записи самого цикла. Первый раз вижу аргумент foreach со слешем. Это я так понимаю. равнозначно предварительной инициализации массива для перебора?:

PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = range(0, 100000);
  3. foreach ($arr as $i) {
  4.     // ...
  5. }
  6.  

(Добавление)
И разница с этим непонятна:
Duration since PHP Startup (using unreliable $_SERVER['REQUEST_TIME_FLOAT'])
PHP:
скопировать код в буфер обмена
  1. require __DIR__ . '/vendor/autoload.php';
  2.  
  3. use SebastianBergmann\Timer\ResourceUsageFormatter;
  4.  
  5. foreach (\range(0, 100000) as $i) {
  6.     // ...
  7. }
  8.  
  9. print (new ResourceUsageFormatter)->resourceUsageSinceStartOfRequest();


Имеется в виду, что в первом случае исчисляется время от запуска $timer->start(); до конца скрипта, а во втором случае начало отмеряется от запуска скрипта?
2. LIME - 18 Сентября, 2020 - 19:30:06 - перейти к сообщению
по моему тут многое должно быть очевидно само собой
Perun пишет:
вместо этого цикла поместить код, который оценивается?
да
Perun пишет:
Или этот цикл для чего то другого?
нет
Perun пишет:
foreach со слешем
просто корневой namespace, функции тоже их используют и чтобы случайно не вызвать клиентскую(твою) ф-цию он уточнил что это та самая стандартная пыховская range
Perun пишет:
а во втором случае начало отмеряется от запуска скрипта?
видимо да

библа довольно простая и не дает многих метрик
и использовать неудобно - надо постоянно лезть с изменениями в код
есть поинтереснее решение https://habr[dot]com/ru/company/badoo/blog/430722/

 

Powered by ExBB FM 1.0 RC1