PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (24): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец

> Найдено сообщений: 359
Hapson Отправлено: 15 Ноября, 2013 - 18:37:58 • Тема: Измерение памяти и времени в PHP • Форум: Пользовательские функции

Ответов: 24
Просмотров: 2420
EuGen пишет:
Hapson пишет:
Я имел ввиду свой код. У меня в самом начале index.php определены стартовые переменные времени и памяти

Время определять так не стоит - потому что даже для всего скрипта оно будет незначащим, ведь однократное применение не даёт верного значения (тем более если речь идёт о веб-сайте, где приложение работает со многими сторонними ресурсами, порождая случайные сетевые задержки, например).
Память (Memory) - не имеет смысла, поскольку не отразит того, что делается уровнем ниже глобального.
Только "максимальная память" (Max Memory) имеет некий смысл, так как отразит максимально потреблённую память. Однако для полной картины это нужно собирать в статистических таблицах, поскольку если веб-сайт, например, работает с БД, то результат может быть разным в зависимости от её выборки и т.п.

Ясно.
Ну время да - погоду показывает, а не время. Значения скачут сильно.
Max memory показывает вроде как правильно.
А вот Memory... что-то я сомневаюсь, что она врет. Здесь подсчитывается, сколько памяти было выделено во время выполнения скрипта. И в эту обертку попадают как все телодвижения, так и все определения функций, классов и прочее.
Hapson Отправлено: 15 Ноября, 2013 - 18:25:40 • Тема: Измерение памяти и времени в PHP • Форум: Пользовательские функции

Ответов: 24
Просмотров: 2420
EuGen пишет:
То есть если я этим кодом обернул сайт, то в итоге получаю погодные виджеты?

Не понял, о чём Вы

Я имел ввиду свой код. У меня в самом начале index.php определены стартовые переменные времени и памяти.
А в конце шаблона - то есть конец работы скрипта и загрузки html я вывожу значения.
Вот, это начало
http://clip2net[dot]com/s/6bmoaS
а это конец
http://clip2net[dot]com/s/6bmqeJ
Hapson Отправлено: 15 Ноября, 2013 - 18:13:45 • Тема: Измерение памяти и времени в PHP • Форум: Пользовательские функции

Ответов: 24
Просмотров: 2420
EuGen пишет:
Hapson пишет:
http://clip2net[dot]com/s/6blBgF

Даже на Вашем примере видно, что память (поле Memory) измеряется некорректно. Она не может составлять менее 4*10.000 байт, Ваш же результат - 0.18Kb (=180 байт). И это понятно, почему - см. второй пункт в моём предыдущем сообщении.
Насчёт максимальной памяти - см. третий пункт, почему нельзя использовать memory_get_peak_usage() для определения этого (а так же код в моём примере)

То есть если я этим кодом обернул сайт, то в итоге получаю погодные виджеты? Ну со временем проще, если мерить загрузку сайта в целом, то от истины недалеко.
А как тогда быть с памятью, если нужно измерить потребление целого скрипта? Измерить потребление памяти сайтом.
Hapson Отправлено: 15 Ноября, 2013 - 18:02:15 • Тема: Измерение памяти и времени в PHP • Форум: Пользовательские функции

Ответов: 24
Просмотров: 2420
esterio пишет:
Hapson
Здесь идет потрбление памяти конкретной функции, а не скрипта в целом

Все равно не пойму...
Если мне нужно сравнить функции, то делаю примерно так

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function foo(){
  4.         $result = str_repeat('test', 1E4);
  5. }
  6.  
  7. $start = microtime(true); $memory = memory_get_usage(false);
  8.  
  9. for($z = 0; $z < 100000; $z++){
  10.         foo();
  11. }
  12.  
  13. echo 'Time: '. number_format((microtime(true)-$start), 3) .' sec.<br />';
  14. echo 'Memory: '. number_format((memory_get_usage(false)-$memory)/1024, 3) .' Kb.<br />';
  15. echo 'Max Memory: '. number_format(memory_get_peak_usage(false)/1024, 3) .' Kb.<br />';
  16. ?>
  17.  


http://clip2net[dot]com/s/6blBgF
Hapson Отправлено: 15 Ноября, 2013 - 17:43:25 • Тема: Измерение памяти и времени в PHP • Форум: Пользовательские функции

Ответов: 24
Просмотров: 2420
EuGen пишет:
Вы никогда не сможете таким способом измерить память

Однако могу
http://clip2net[dot]com/s/6bkYxB
Hapson Отправлено: 15 Ноября, 2013 - 17:35:52 • Тема: Измерение памяти и времени в PHP • Форум: Пользовательские функции

Ответов: 24
Просмотров: 2420
Я делаю так
PHP:
скопировать код в буфер обмена
  1.  
  2. $start = microtime(true); $memory = memory_get_usage(false);
  3.  
  4. /*
  5. * какой-то код
  6. */
  7.  
  8. echo 'Time: '. number_format((microtime(true)-$start), 3) .' sec.<br />';
  9. echo 'Memory: '. number_format((memory_get_usage(false)-$memory)/1024, 3) .' Kb.<br />';
  10. echo 'Max Memory: '. number_format(memory_get_peak_usage(false)/1024, 3) .' Kb.<br />';
  11.  

Не пойму, зачем для этого писать столько кода...
Hapson Отправлено: 15 Ноября, 2013 - 15:46:42 • Тема: сложность с авторизацией • Форум: Вопросы новичков

Ответов: 18
Просмотров: 993
ferdinand пишет:
спасибо. жаль, пока плюсануть не могу.

Незачто. Вобщем, упорство и труд все перетрут - сам уже 4 месяца учу. Главное писать что-то. Учить и писать, учить и писать... И чтоб не просто работало, а чтоб везде работало независимо ни от чего и ни от кого
Hapson Отправлено: 15 Ноября, 2013 - 12:56:16 • Тема: Выборочное наполнение сайдбара • Форум: Вопросы новичков

Ответов: 5
Просмотров: 292
teddy пишет:
Hapson пишет:
По идее, контент сайдбара тоже зависит от строки запроса. Например при выборе одной категории, в сайдбар выводится меню этой категории.

Можно создать таблицу в БД, где будут храниться менюшки + поле category

Ну а потом по параметру смотрим, SELECT column FROM `menu` WHERE `category`='$params[0]'

как то так

Ну да, наверно как-то так. Короче все же придется делать роутер для сайдбара, так как все зависит от строки запроса.
Хочется гибкости, но и усложнять не хочется.
Наверное можно сделать так, чтобы основной роутер дергал контроллер сайдбара и передавал ему имя модуля, который сейчас формирует контент.
Спасибо за наводку!
Hapson Отправлено: 15 Ноября, 2013 - 12:29:49 • Тема: Выборочное наполнение сайдбара • Форум: Вопросы новичков

Ответов: 5
Просмотров: 292
Всем привет!
Такое дело... нужен совет наверное не в смысле кода, а всмысле идей.
Пишу блог, попутно практикуя. Все хорошо и прекрасно, вроде как. Соорудил роутер, все работает. Однако вчера вдруг понял, что у меня совершенно нет идей о том, как динамически, то есть выборочро наполнять сайдбар.
Роутер работает так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $CONTENT = mainRouter();
  3. // если роутер ничего не нашел в строке запроса, то он кинет на 404
  4. // если нашел, то он дернет нужную функцию, она получит все данные и роутер вернет путь к файлу, который нужно подключить
  5. //далее подключается шаблон
  6. include_once ROOT .'/template/tmpl.php';
  7.  
  8. //а в шаблоне, где выводится контент пишу
  9. include_once $CONTENT;
  10.  

Все отлично работает - нужный контент выводится в зависимости от запроса.
Но что делать с сайдбаром ума не приложу. По идее, контент сайдбара тоже зависит от строки запроса. Например при выборе одной категории, в сайдбар выводится меню этой категории. При выборе другой категории, в сайдбаре нужно вывести меню этой категории. Если скажем перешел на главную страницу, то там можно вывести меню с последними статьями.
Делать статичную боковую колонку не хочется. Но не писать же второй роутер для сайдбара.
Hapson Отправлено: 15 Ноября, 2013 - 09:29:33 • Тема: Помогите с PHP и SQL!!! • Форум: Вопросы новичков

Ответов: 21
Просмотров: 591
Джек пишет:
DelphinPRO пишет:
Джек, вы можете ответить на мой вопрос? Или сами не знаете что пишете?

Я это взял с уроков Попова
Думаю смысл был в том, что если $result = правде то информация записана в базу если ложь, то информация не добавлена в базу
Если не правильно, поправьте, буду весьма благодарен

Что вернерют инсерт? Истину или ложь.
Что получится?
if(true == 'true')
или
if(false == 'true')
будет работать? Будет
Это правильно? Нет.

Включаем логику, внимание и не слушаем Попова. Могу посоветовать курсы Борисова
Hapson Отправлено: 15 Ноября, 2013 - 09:20:03 • Тема: Подскажите где кроется ошибка • Форум: Вопросы новичков

Ответов: 14
Просмотров: 359
Джек пишет:
Hapson пишет:
Джек пишет:

Молчать

А я что предложил? Молчать и учить АЗЫ php

Сказать что иди учи php или гугл тебе в помощь каждый может, а что то толковое сказать по определенной проблеме мало кто делает.
Поэтому и говорю, что если не хотите подсказать как решить задачу, то лучше не писать вообще.

А что каждый должен делать? Учить? Для этого есть книги, есть php.net и т.д и т.п
Hapson Отправлено: 15 Ноября, 2013 - 09:16:40 • Тема: Помогите с PHP и SQL!!! • Форум: Вопросы новичков

Ответов: 21
Просмотров: 591
Джек пишет:
imya пишет:
Джек пишет:
PHP:
скопировать код в буфер обмена
  1.         if ($query == 'true') {
  2.  



У вас в $query будет текст запроса, как он может быть равен строке true ?? Улыбка

Хм... да и в правду, тогда объясните почему такая конструкция срабатывает у меня?

Потому что неявное приведение типов
Hapson Отправлено: 15 Ноября, 2013 - 08:58:58 • Тема: Подскажите где кроется ошибка • Форум: Вопросы новичков

Ответов: 14
Просмотров: 359
Джек пишет:

Молчать

А я что предложил? Молчать и учить АЗЫ php
Hapson Отправлено: 15 Ноября, 2013 - 08:56:55 • Тема: Помогите с PHP и SQL!!! • Форум: Вопросы новичков

Ответов: 21
Просмотров: 591
Джек пишет:
Hapson пишет:
ПЫХ умный, ПЫХ догадается, что 'true' это на самом деле true.
(Добавление)
вариант лучше есть:

if($query)...

Троль

Поясни
Hapson Отправлено: 15 Ноября, 2013 - 08:52:27 • Тема: Помогите с PHP и SQL!!! • Форум: Вопросы новичков

Ответов: 21
Просмотров: 591
ПЫХ умный, ПЫХ догадается, что 'true' это на самом деле true.
(Добавление)
вариант лучше есть:

if($query)...

Страниц (24): В начало « ... 5 6 7 8 [9] 10 11 12 13 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB