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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Время загрузки файла

 PHP.SU

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


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

> Без описания
sidletsky
Отправлено: 26 Ноября, 2013 - 16:43:55
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Не знаю почему именно в этот раздел пишу вопрос, поэтому не судите.
Давайте представим себе сферический php-файл в вакууме, состоящий из условия. Если true, то выводится одна строка, если false - то миллион. Теперь вопрос: если человек отправляет через ajax, или просто открывает данный файл, то, если условие true, будут подгружаться миллион строк, или сервер слишком умён для этого?
 
 Top
dXdYdZ
Отправлено: 26 Ноября, 2013 - 16:46:40
Post Id


Посетитель


Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013  


Помог: 11 раз(а)




Имеются в виду строки php-кода?
 
 Top
sidletsky
Отправлено: 26 Ноября, 2013 - 16:50:13
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Именно.
Вот, к примеру, содержание этого файла:
PHP:
скопировать код в буфер обмена
  1. if(true) {
  2.     echo "<h1>It's work!</h1>";
  3. } else {
  4. // Миллион других условий, выводов, инклюдов etc.
  5. }

(Отредактировано автором: 26 Ноября, 2013 - 16:50:57)

 
 Top
dXdYdZ
Отправлено: 26 Ноября, 2013 - 17:02:18
Post Id


Посетитель


Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013  


Помог: 11 раз(а)




Ну, если написать так:
PHP:
скопировать код в буфер обмена
  1. if(true) {
  2.     echo "<h1>It's work!</h1>";
  3. } else {
  4.  include('Файл_с_миллионом_строк_кода');
  5. }

То миллион строк кода, если true, не загрузятся.
 
 Top
sidletsky
Отправлено: 26 Ноября, 2013 - 17:16:16
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Только что сделал експеримент в Chrome.
Обращался через ajax к файлу, устанавливая разные значения переменной (true/false).
Увы, но Chrome подгружал одинаковый вес файла при разных значениях, хотя и время выполнения при true было равным 0, а при false - 15 мс
 
 Top
dXdYdZ
Отправлено: 26 Ноября, 2013 - 17:20:22
Post Id


Посетитель


Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013  


Помог: 11 раз(а)




Это не критерий. Chrome грузит HTML-страницу, сгенерированную с помощью PHP, но никак не php-файл. Поэтому размер файла и должен быть одинаковым, если в обоих случаях выводится одинаковое количество байт. И почему разница времени выполнения - тоже понятно. Потому что выполняется меньше строк кода в первом случае.
А вот сколько строк подгружает интерпретатор, Вы таким образом не отследите.
 
 Top
sidletsky
Отправлено: 26 Ноября, 2013 - 19:57:05
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




В том-то и дело, что выводится меньше строк, а количество загружаемых данных - то же
 
 Top
anakoman
Отправлено: 26 Ноября, 2013 - 20:10:10
Post Id


Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Май 2013  


Помог: 1 раз(а)




Сервер настолько умен что определяет является ли значение ТРУ или ФАЛЬШ одинако быстро (в независимости от условия).
а выполнение действий при ТРУ 1 строка или при ТРУ 100000000000 строк занимает РАЗНОЕ время
а выдача результата "ХЕЛО МИР" после разного количества операций будет одинаковой и любой браузер выдаст одинаковый размер файла при разных условиях


-----
Иногда, пока не спросишь - сам не поймешь
 
 Top
dXdYdZ
Отправлено: 26 Ноября, 2013 - 20:21:07
Post Id


Посетитель


Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013  


Помог: 11 раз(а)




Количество строк PHP-кода не является критерием, определяющим размер загружаемого в браузер HTML-кода.
 
 Top
sidletsky
Отправлено: 26 Ноября, 2013 - 21:12:05
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




А как это всё на траффик пользователя повлияет?
 
 Top
dXdYdZ
Отправлено: 26 Ноября, 2013 - 21:16:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013  


Помог: 11 раз(а)




Говорят же Вам, что на трафик пользователя влияет не количество строк PHP-кода, а количество сгенерированных этим кодом байт (символов).
(Добавление)
Пользователю в браузер передаётся не php-код. PHP-код исполняется интерпретатором на сервере. А пользователю выдаётся то, что генерируется этим кодом и пишется в выходной поток. Обычно это HTML-код.
 
 Top
sidletsky
Отправлено: 26 Ноября, 2013 - 22:35:41
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Огромное всем спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB