РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1076 of 1361 menu

Метод stopSection класса Stopwatch

Метод stopSection класса Stopwatch останавливает последнюю открытую секцию секундомера. Секции открываются методом openSection и позволяют измерять время выполнения отдельных участков кода. Метод не принимает параметров и возвращает имя остановленной секции в виде строки. Если открытых секций нет, выбрасывается исключение LogicException.

Синтаксис

public function stopSection(): string

Пример

Давайте откроем секцию, выполним код и остановим секцию:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentStopwatchStopwatch; class ArticleController extends AbstractController { public function index(): Response { $stopwatch = new Stopwatch(); $stopwatch->openSection(); $sum = 0; for ($i = 0; $i < 100000; $i++) { $sum += $i; } $name = $stopwatch->stopSection(); return new Response($name); } } ?>

Результат выполнения кода:

"section"

Пример

Давайте откроем именованную секцию и остановим её:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentStopwatchStopwatch; class ArticleController extends AbstractController { public function index(): Response { $stopwatch = new Stopwatch(); $stopwatch->openSection('processing'); $res = []; for ($i = 0; $i < 10; $i++) { $res[] = $i; } $name = $stopwatch->stopSection(); return new Response($name); } } ?>

Результат выполнения кода:

"processing"

Пример

Давайте посмотрим события остановленной секции через метод getSectionEvents:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentStopwatchStopwatch; class ArticleController extends AbstractController { public function index(): Response { $stopwatch = new Stopwatch(); $stopwatch->openSection('processing'); $sum = 0; for ($i = 0; $i < 100000; $i++) { $sum += $i; } $name = $stopwatch->stopSection(); $events = $stopwatch->getSectionEvents($name); return new Response((string) count($events)); } } ?>

Результат выполнения кода:

"2"

Смотрите также

  • класс Stopwatch,
    который измеряет время выполнения кода
  • метод openSection,
    который открывает новую секцию секундомера
  • метод getSectionEvents,
    который возвращает события секции
  • метод start,
    который запускает измерение события
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить