Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Какой вариант будет быстрее работать?
ak167  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Ушел в отрыв!)))
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 19030
На форуме: 7 лет, 2 месяца, 22 дня
Карма: 1

Не курю:
30 лет, 8 месяцев, 25 дней


Всем привет!
Имеется самодельный движок, в котором шаблону подключаются несколько файлов кэша, содержащие данные, которые потом передаются переменным $menu, $rubrics и $cloud.

Есть два вариант подключения:

1. Вариант.
Сделать три файла menu.cache, rubrics.cache и cloud.txt. В файле index.php в самом коде прописываем:


$cloud = file_get_contents('gs_blog/includes/cloud.txt'); // подключаем облако
$menu = file_get_contents('gs_blog/cache/menu.cache'); // подключаем кэш меню
$rubrics = file_get_contents('gs_blog/cache/rubrics.cache'); // подключаем кэш рубрик (категорий)


2. Вариант.
Делаем один файл, назовём его cache.php и в нём пишем:

<?php
$cloud = 'HTML'; // подключаем облако
$menu = 'HTML'; // подключаем кэш меню
$rubrics = 'HTML'; // подключаем кэш рубрик (категорий)
?>


Затем в файле index.php подключаем созданный файл:
include 'includes/cache.php';


Какой из этих вариантов будет работать быстрее?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3846
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 3 дня
Карма: 87




ak167

3 файл-запроса vs 1

+ в инклюде можно разместить динамику PHP (например связанную с мультиязычностью контента), если вдруг однажды понадобится + в file_get_contents можно получить warning если файла нет, а в некоторых способах инклюдах нет.


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 27 дней
Карма: 30




Так а в чем вопрос? Запусти это все в цикле 10 000 раз, и замеряй время первого и второго варианта. А вообще советую учить готовые библиотеки, движки, фреймворки, чтобы не изобретать велосипеды.
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ak167  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Ушел в отрыв!)))
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 19030
На форуме: 7 лет, 2 месяца, 22 дня
Карма: 1

Не курю:
30 лет, 8 месяцев, 25 дней


Цитата (jetistyum @ 23.07.2016 - 19:51)
Так а в чем вопрос? Запусти это все в цикле 10 000 раз, и замеряй время первого и второго варианта. А вообще советую учить готовые библиотеки, движки, фреймворки, чтобы не изобретать велосипеды.

jetistyum, так и сделал. Первый вариант выполнялся за 0,4 секунды, а второй всего за 0,25.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Гость_Fart  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (ak167 @ 24.07.2016 - 13:45)
Цитата (jetistyum @ 23.07.2016 - 19:51)
Так а в чем вопрос? Запусти это все в цикле 10 000 раз, и замеряй время первого и второго варианта. А вообще советую учить готовые библиотеки, движки, фреймворки, чтобы не изобретать велосипеды.

jetistyum, так и сделал. Первый вариант выполнялся за 0,4 секунды, а второй всего за 0,25.

начать стоит с того что: немного не ясно для каких целей создается куча кеш-файлов. у обоих вариантов вообще разные назначения. 1 - для временного хранения, 2 - для постоянного (замена БД).

если первый вариант будет правильно организован и создается 1 кеш файл с json данными например (создавая что-то вроде псевдо-сессии), то скорость 1 варианта будет как и у 2 варианта.

если ты пытаешься создать кеш без каких либо изменений во 2 варианте и тут не факт, что скорость может быть лучше, так как при доп инклудах - скорость выполнения скрипта увеличится.

к тому же не только скорость важна, так как создавая новые переменные и прочее увеличивается нагрузка на цп + озу у сервера. 1 запрос он да - не особо напрягать будет, а при серьезных нагрузках ощутимо будет на косячных вирт. хостах.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 27 дней
Карма: 30




А на практике какая разница от всего этого ? нужно ли там вообще кэширование? нужно ли его организовывать на подключаемых файлах, или может сделать кэш на уровне nginx?
заметна ли глазу разница в 0.0...2 сек ? чтобы вообще заморачиваться с этим?
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3846
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 3 дня
Карма: 87




Цитата
А на практике какая разница от всего этого ? нужно ли там вообще кэширование? нужно ли его организовывать на подключаемых файлах, или может сделать кэш на уровне nginx?
заметна ли глазу разница в 0.0...2 сек ? чтобы вообще заморачиваться с этим?


На практике, да и в жизни, надо прежде всего заставить себя просто подумать. Ответить на сакраментальные вопросы что и для чего делать.

Ещё, на практике, для таких случаев тесты не делают, ну как мне кажется. Почему? Потому, что надо просто спокойно сесть и внимательно подумать, поразмышлять. Тесты не панацея, ситуации где они показывают ранжирование результатов очень даже не однозначны. И вполне могут быть ошибочными, или стать такими через год, например, при другой нагрузке, или даже через день - только потому, что где-то изменился узел подключения и всё стало потихоньку есть ресурсы.


Ну, а если всё таки тест сделан, то размышлять в духе "заметна ли глазу разница в 0.0...2 сек ?" как-то не по программистки что-ли, правильно стоило бы написать значителен ли будет прирост в скорости на 62,5%? И так же по программистки ответить самому себе - Конечно!


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bestxp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



орангутанг
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2004
Пользователь №: 36605
На форуме: 3 года, 9 месяцев, 17 дней
Карма: 111




сакраментальный вопрос, как ты решишь вопрос инвалидации кеша?)


--------------------
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 9 дней
Карма: 49




jetistyum
на этапе обучения - очень тупой совет!
Потом и будет сидеть на "библиотеки, движки, фреймворки" не зная основ!


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
jetistyum  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 2605
Пользователь №: 5568
На форуме: 8 лет, 4 месяца, 27 дней
Карма: 30




Zzepish Давай не будем оскорблять друг друга.

То что он делает, это не основы, а изобретение велосипеда. Он и так не знает основ. И врядли их узнает, если будет свои велосипеды строить, не читая чужой.
Я вот не знаю как внутри устроена функция file_get_contents() а так же драйвер файловой системы, который используется для чтения файлов на низком уровне, да мне и не нужно это знать, ведь есть простой интерфейс - в данном случае ф-я file_get_contents().

Так же и с кодом, скачал фреймворк, и написал и работает. $cache->get(), $cache->set(), в конфигурации указал провайдер кэширования: файловая система, или Redis сервер...
Если хочется разобраться как устроено - открываешь исходники фреймворка и смотришь. Над ним трудились довольно умные люди, переймешь хорошие практики.

Более того, сейчас рынку нужны только те программисты, которые работают с библиотеками и фреймворками. Вот и задумайся, на что тратить время.
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса