powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / помогите замерить производительность пхп при множественных инклудах
25 сообщений из 36, страница 1 из 2
помогите замерить производительность пхп при множественных инклудах
    #36846964
enic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал один скрипт, который грузит свои модули инклудами
причем не один раз

оказалось что рано или поздно этот скрипт умирает, в отличие от предыдущего, где таких злостных инклудов не было

решил проверить - сколько сжирают инклуды и есть ли смысл обернуть их содержимое в функции, чтобы инклудить все модули один раз при загрузке скрипта

но почему-то выдает расход памяти и времени практически одинаковый. microtime() тоже пробовал, там получаются ещё и отрицательные значения

так может я как-то неграмотно замеряю эти параметры?
или инклуды на самом деле можно делать по сто раз и это никак не повлияет на стабильность работы пхп?

(пхп 5.2)

вариант 1 - с инклудами

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$memory_start = memory_get_peak_usage(true);
$start = microtime(true);
for($i =  0 ; $i <  1000 ; $i++)
{
    include "inc1.php";
    include "inc2.php";
    include "inc3.php";
}
$end = microtime(true);
$memory_end = memory_get_peak_usage(true);

echo 'time: ' . ($end - $start) /  1000  . '<br />';
echo 'memory usage: ' . ($memory_end - $memory_start);

каждый inc.php содержит
Код: plaintext
1.
2.
3.
4.
<?php

$k = '';
for($j =  0 ; $j <  100 ; $j++)
    $k .= md5($j);



второй вариант - без инклудов. все обернуто в функции:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?php        // Without includes

    include "inc1.php";
    include "inc2.php";
    include "inc3.php";

$memory_start = memory_get_peak_usage(true);
$start = microtime(true);

for($i =  0 ; $i <  1000 ; $i++)
{
    inc1();
    inc2();
    inc3();
}
$end = microtime(true);
$memory_end = memory_get_peak_usage(true);

echo 'time: ' . ($end - $start) /  1000  . '<br />';
echo 'memory usage: ' . ($memory_end - $memory_start);

и в inc.php:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?php

function inc1()
{


$k = '';
for($j =  0 ; $j <  100 ; $j++)
    $k .= md5($j);

}

что я делаю не так? почему memory usage всегда 0?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36846977
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enic,

откройте для себя
Код: plaintext
include_once
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847004
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКаenic,

откройте для себя
Код: plaintext
include_once

И require_once тоже пригодится ))
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847022
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enicчто я делаю не так? почему memory usage всегда 0?
Вопрос на засыпку: сколько будет 10 минус 10?

И вопрос в догонку: с чего ты решил, что пиковое потребление памяти увеличится в процессе твоего цикла, а не было достигнуто еще до первого замера?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847102
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enic
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
$memory_start = memory_get_peak_usage(true);
$start = microtime(true);
for($i =  0 ; $i <  1000 ; $i++)
{
    include "inc1.php";
    include "inc2.php";
    include "inc3.php";
}

В этом нет никакого смысла.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847214
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто интересно, вообще удобно в этом языке почти в каждой строчке набирать с шифтом знак доллара ?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847244
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioпросто интересно, вообще удобно в этом языке почти в каждой строчке набирать с шифтом знак доллара ?
для работы с текстом - да. а для другого нужно использовать более подходящие инструменты.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847285
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNrstudioпросто интересно, вообще удобно в этом языке почти в каждой строчке набирать с шифтом знак доллара ?
для работы с текстом - да. а для другого нужно использовать более подходящие инструменты.

нет, мне просто интересно о чем думали разработчики языка
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847300
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioпросто интересно, вообще удобно в этом языке почти в каждой строчке набирать с шифтом знак доллара ?
Напрягает сильно после сей или дельфей. Но привыкаешь со временем. Тем более, если IDE нормальная, то либо этим нажатием ты заменишь старую привычку на другую комбинацию в других IDE для вывода списка имен.

Но все же определенно в команде разрабов без мазохистов не обошлось....
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847313
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edd.Dragonлибо этим нажатием ты заменишь старую привычку на другую комбинацию в других IDE для вывода списка имен.

Сам не понял что написал.

Имеется ввиду, что в студии я например жму Ctrl+Space и получаю список подходящих имен. А в IDE под PHP либо точно так же поступаю, либо вместо Ctrl+Space жму Shift+4 для отображения уже списка исключительно переменных. Т.е. действий такое же кол-во, но лишь переучить пальцы в другую позу становиться, что пианистов и гитаристов - раз плюнуть, остальным - полезная тренировка (видимо так разрабы мыслили)
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847335
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioZyK_BotaNrstudioпросто интересно, вообще удобно в этом языке почти в каждой строчке набирать с шифтом знак доллара ?
для работы с текстом - да. а для другого нужно использовать более подходящие инструменты.

нет, мне просто интересно о чем думали разработчики языка

о работе с текстом, не?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847423
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNrstudioZyK_BotaNrstudioпросто интересно, вообще удобно в этом языке почти в каждой строчке набирать с шифтом знак доллара ?
для работы с текстом - да. а для другого нужно использовать более подходящие инструменты.

нет, мне просто интересно о чем думали разработчики языка

о работе с текстом, не?

я про синтаксис конечно. В остальном ПХП вполне нашел свою нишу и обрел популярность.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847437
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio
я про синтаксис конечно. В остальном ПХП вполне нашел свою нишу и обрел популярность.
и я про синтаксис, знак долара позволяет отличить переменную в строке.
то же самое в perl.

Просто, имхо, создателе не знали во что перерастет ПХП.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847453
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в перле даже дальше пошли:

wikipedia$foo; # скаляр или ссылка
@foo; # массив
%foo; # хеш-таблица
&foo; # функция
*FOO; # запись таблицы символов
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847479
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNв перле даже дальше пошли:

wikipedia$foo; # скаляр или ссылка
@foo; # массив
%foo; # хеш-таблица
&foo; # функция
*FOO; # запись таблицы символов


считаешь это удобным ?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847493
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioZyK_BotaNв перле даже дальше пошли:

wikipedia$foo; # скаляр или ссылка
@foo; # массив
%foo; # хеш-таблица
&foo; # функция
*FOO; # запись таблицы символов


считаешь это удобным ?
для программирования в общем нет. сугубо для обработки текстов - да.

сам не php-ст и не perl-ик. Во всех языках которыми я пользовался переменные именуются нормально.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847502
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio,

кстати, а как будет выглядеть формирование строки, включающей значения переменных, в rs?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847509
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNrstudioZyK_BotaNв перле даже дальше пошли:

wikipedia$foo; # скаляр или ссылка
@foo; # массив
%foo; # хеш-таблица
&foo; # функция
*FOO; # запись таблицы символов


считаешь это удобным ?
для программирования в общем нет. сугубо для обработки текстов - да.

сам не php-ст и не perl-ик. Во всех языках которыми я пользовался переменные именуются нормально.

Раньше тоже была распространена нотация, где к имени переменной добавлялся кратко ее тип. Но это был тип переменной, а не просто спец закарючка обозначающая что это переменная. Кто еще не понял в тексте MyVar это переменная ее нужно пометить как переменную $MyVar, а GetMyVar это функция, ее нужно пометить как функцию. Слегка глупо ИМХО.

Впрочем от префиксов в названии переменной в других языках постепенно отошли. Современные ИДЕ позволяют узнать тип переменной при наведении курсора.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847516
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNrstudio,

кстати, а как будет выглядеть формирование строки, включающей значения переменных, в rs?

пока не знаю, дописываю статью по мейн проекту
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847525
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio

Раньше тоже была распространена нотация, где к имени переменной добавлялся кратко ее тип. Но это был тип переменной, а не просто спец закарючка обозначающая что это переменная. Кто еще не понял в тексте MyVar это переменная ее нужно пометить как переменную $MyVar, а GetMyVar это функция, ее нужно пометить как функцию. Слегка глупо ИМХО.

Впрочем от префиксов в названии переменной в других языках постепенно отошли. Современные ИДЕ позволяют узнать тип переменной при наведении курсора.
ты до сих пор не понял меня?
есть переменная $x=5. Строки "X: $x" и "X: 5" - эквивалентны.
Если я ошибаюсь, поправьте меня.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847581
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле, тут даже нечего обсуждать, что еще осталось за кадром
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36847693
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доллар в ПХП по смыслу не просто "значок переменной", а гораздо ближе к оператору разыменовывания (если рассматривать символ переменной как ссылку на неё, что, в общем, логично; нелогично только безусловное отождествление символов и строк, их неявная взаимная конвертация).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?
$var1 = "abc";
$var2 = "var1";
$var3 = "var2";
$def = "ghi";

function abc() { return "def"; }
function ghi() { return "abc again!"; }

echo $var1."\n"; //abc
echo $$var2."\n"; //abc
echo $$$var3."\n"; //abc
echo $var1()."\n"; //def
echo $$var2()."\n"; //def
echo ${$$$var3()}()."\n"; //abc again!
?>

Идеология, конечно, не проработана до конца, но в первом приближении ясна.
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36848307
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioв смысле, тут даже нечего обсуждать, что еще осталось за кадром
OFF: Привет. Ну как там каталогизатор?
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36848347
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он в статье будет фигурировать,
я его написал чтобы продемонстрировать возможности Research Studio .NET в отладке кода
...
Рейтинг: 0 / 0
помогите замерить производительность пхп при множественных инклудах
    #36849573
enic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наверное я не понимаю принцип работы
но если в код постоянно инклудить файлы, чтобы они исполнялись - разве код этих файлов не должен накапливаться в памяти, постоянно увеличиваясь? я именно это хочу узнать
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / помогите замерить производительность пхп при множественных инклудах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]