Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ WEB Разработка ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Codeigniter: benchmarking


CodeIgniter имеет класс Benchmarking, который постоянно активен, рассчитывая временные различия между любыми двумя отмеченными точками.

Использование класса Benchmark
Класс Benchmark может использоваться в ваших контроллерах, отображениях или в моделях. Процесс использования таков:
Обозначить начальную точку mark('Point_Name1')
Обозначить конечную точку   mark('Point_Name2')
Запустить функцию "elapsed time('Point_Name1', 'Point_Name2')", чтобы увидеть результаты 

 Вы можете использовать любые слова, а также устанавливать множество маркеров. Вот пример:

$this->benchmark->mark('dog');

// здесь делаем что-то 

$this->benchmark->mark('cat');

// здесь делаем еще чего-нибудь

$this->benchmark->mark('bird');

echo $this->benchmark->elapsed_time('dog', 'cat');
echo $this->benchmark->elapsed_time('cat', 'bird');
echo $this->benchmark->elapsed_time('dog', 'bird');

Отображение общего времени выполнения
Если вы хотите выводить общее время выполнения с того момента, как запускается CodeIgniter до того момента, как данные отправляются в браузер, просто поместите приведенный ниже код в одно из ваших отображений:

<?php echo $this->benchmark->elapsed_time();?>

Отображение потребления памяти
Если ваш PHP сконфигурирован с --enable-memory-limit, вы можете выводить количество памяти, потребленное целой системой, используя следующий код в отображениях:

<?php echo $this->benchmark->memory_usage();?>

Попробуем изменить наш контроллер из прошлого примера:

<?php
class Blog extends CI_Controller {

        public function index()
        {
            $this->benchmark->mark('p1');
            
            $data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');

            $data['title'] = "My Real Title";
            $data['heading'] = "My Real Heading";

            $this->load->view('blogview', $data);
            
            $this->benchmark->mark('p2');
            
            echo $this->benchmark->elapsed_time('p1', 'p2');

И вызовем: http://site/index.php/blog/blog/


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект