Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 1 час назад, dexion сказал: У меня на php7.2 serialize выигрывал json На старых php вроде было наоборот Отсюда не понял почему в опенкарте serialize заменили на json. Буду рад, если объясните.) https://medium.com/@moinuddinchowdhury/serialize-vs-json-67fe872a7755 Это что касается скорости. ну и <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?> Результат выполнения данного примера: object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } А serialize умеет только массивы. И что касается темы в целом. Попытка вот здесь сэкономить - это экономия на спичках. От того что на 100к товаров разбирается кеш сеопро. будет он 200 или 220 мс парсится в объект - ничего не поменяется, а особенно если ссылки с полным путем категорий, где cache->set cache->set cache->set и так 150 раз. Но в тоже время на 1000 товаров юзать готовый массив имеет место быть на 300%. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 1 час назад, dexion сказал: Отсюда не понял почему в опенкарте serialize заменили на json. serialize - строго типизировано, попробуйте изменит содержимое и вы получите ошибку (очень часто такое случалось в 1.5) - правка только через декодирование json менее чувствительно - содержимое можно править без декодирования Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 14 минут назад, Yoda сказал: А serialize умеет только массивы. https://www.php.net/manual/ru/function.serialize.php Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 5 минут назад, chukcha сказал: https://www.php.net/manual/ru/function.serialize.php некоторых типов object (см. примечание ниже). !!! Поэтому что? Не заморачиваемся!!!! А используем то, что умеет делать по человечески. Ну а фанаты спектрума и калькулятора мк52, могут в двоичном коде писать дальше морской бой. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, dexion сказал: Отсюда не понял почему в опенкарте serialize заменили на json. Буду рад, если объясните.) От сериализации отказались из-за наличия уязвимостей https://www.php.net/manual/ru/function.unserialize.php Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, Yoda сказал: И что касается темы в целом. Попытка вот здесь сэкономить - это экономия на спичках. От того что на 100к товаров разбирается кеш сеопро. будет он 200 или 220 мс парсится в объект - ничего не поменяется, а особенно если ссылки с полным путем категорий, где cache->set cache->set cache->set и так 150 раз. Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 19 минут назад, Yesvik сказал: Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Да можно и так, только кеш надо переделать в формате private $cache_data = []; __desctruct { public function set($key, $data) { $cache_data[$key] = $data; } foreach($cache_data as $item) { store($item......); } } Будет небольшой оверхед по памяти, но не будет фризов файловой системы в моменте $cache->set Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 2 жовтня 2019 Share Опубліковано: 2 жовтня 2019 19 часов назад, Yesvik сказал: 1000 итераций PHP: 0.59930419921875 сек. JSON:0.61789894104004 сек. INI: 0.6460587978363 сек. В прикреплённом архиве файлы для самостоятельного тестирования. Тестируй и удивляйся... $max_index = 1000; echo "<pre>1000 итераций\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { include 'cache.php'; } echo "PHP: ", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = json_decode(file_get_contents('cache.json')); } echo "JSON:", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = parse_ini_file('cache.ini', true);; } echo "INI: ", Timer::finish(), " сек.\n"; test.zip 17 \u043a\u0411 · 2 downloads У меня цифры совершенно другие получаются Running 5 tests, 5000 times each... The 500 highest and lowest results will be disregarded. Results: Test Name Time + Interval Change json_array 0.0004603884 +0.0000000000 baseline json 0.0005063044 +0.0000459161 10% slower ini_section 0.0006743823 +0.0002139940 46% slower ini 0.0006866876 +0.0002262992 49% slower php 0.0008403621 +0.0003799737 83% slower Но я только сейчас вспомнил, почему ini у меня было лучше php. ini - как не парадоксально, потребляет меньше памяти чем include php. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... spectre Опубліковано: 29 грудня 2019 Share Опубліковано: 29 грудня 2019 я вот честно прочитал, а нахрена это все - не понял 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Joomido Supertools Pack #1(3) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 14 минут назад, Yoda сказал: А serialize умеет только массивы. https://www.php.net/manual/ru/function.serialize.php Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 5 минут назад, chukcha сказал: https://www.php.net/manual/ru/function.serialize.php некоторых типов object (см. примечание ниже). !!! Поэтому что? Не заморачиваемся!!!! А используем то, что умеет делать по человечески. Ну а фанаты спектрума и калькулятора мк52, могут в двоичном коде писать дальше морской бой. Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, dexion сказал: Отсюда не понял почему в опенкарте serialize заменили на json. Буду рад, если объясните.) От сериализации отказались из-за наличия уязвимостей https://www.php.net/manual/ru/function.unserialize.php Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, Yoda сказал: И что касается темы в целом. Попытка вот здесь сэкономить - это экономия на спичках. От того что на 100к товаров разбирается кеш сеопро. будет он 200 или 220 мс парсится в объект - ничего не поменяется, а особенно если ссылки с полным путем категорий, где cache->set cache->set cache->set и так 150 раз. Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 19 минут назад, Yesvik сказал: Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Да можно и так, только кеш надо переделать в формате private $cache_data = []; __desctruct { public function set($key, $data) { $cache_data[$key] = $data; } foreach($cache_data as $item) { store($item......); } } Будет небольшой оверхед по памяти, но не будет фризов файловой системы в моменте $cache->set Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 2 жовтня 2019 Share Опубліковано: 2 жовтня 2019 19 часов назад, Yesvik сказал: 1000 итераций PHP: 0.59930419921875 сек. JSON:0.61789894104004 сек. INI: 0.6460587978363 сек. В прикреплённом архиве файлы для самостоятельного тестирования. Тестируй и удивляйся... $max_index = 1000; echo "<pre>1000 итераций\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { include 'cache.php'; } echo "PHP: ", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = json_decode(file_get_contents('cache.json')); } echo "JSON:", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = parse_ini_file('cache.ini', true);; } echo "INI: ", Timer::finish(), " сек.\n"; test.zip 17 \u043a\u0411 · 2 downloads У меня цифры совершенно другие получаются Running 5 tests, 5000 times each... The 500 highest and lowest results will be disregarded. Results: Test Name Time + Interval Change json_array 0.0004603884 +0.0000000000 baseline json 0.0005063044 +0.0000459161 10% slower ini_section 0.0006743823 +0.0002139940 46% slower ini 0.0006866876 +0.0002262992 49% slower php 0.0008403621 +0.0003799737 83% slower Но я только сейчас вспомнил, почему ini у меня было лучше php. ini - как не парадоксально, потребляет меньше памяти чем include php. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... spectre Опубліковано: 29 грудня 2019 Share Опубліковано: 29 грудня 2019 я вот честно прочитал, а нахрена это все - не понял 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Joomido Supertools Pack #1(3) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 5 минут назад, chukcha сказал: https://www.php.net/manual/ru/function.serialize.php некоторых типов object (см. примечание ниже). !!! Поэтому что? Не заморачиваемся!!!! А используем то, что умеет делать по человечески. Ну а фанаты спектрума и калькулятора мк52, могут в двоичном коде писать дальше морской бой. Надіслати Поділитися на інших сайтах More sharing options...
Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, dexion сказал: Отсюда не понял почему в опенкарте serialize заменили на json. Буду рад, если объясните.) От сериализации отказались из-за наличия уязвимостей https://www.php.net/manual/ru/function.unserialize.php Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, Yoda сказал: И что касается темы в целом. Попытка вот здесь сэкономить - это экономия на спичках. От того что на 100к товаров разбирается кеш сеопро. будет он 200 или 220 мс парсится в объект - ничего не поменяется, а особенно если ссылки с полным путем категорий, где cache->set cache->set cache->set и так 150 раз. Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 19 минут назад, Yesvik сказал: Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Да можно и так, только кеш надо переделать в формате private $cache_data = []; __desctruct { public function set($key, $data) { $cache_data[$key] = $data; } foreach($cache_data as $item) { store($item......); } } Будет небольшой оверхед по памяти, но не будет фризов файловой системы в моменте $cache->set Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 2 жовтня 2019 Share Опубліковано: 2 жовтня 2019 19 часов назад, Yesvik сказал: 1000 итераций PHP: 0.59930419921875 сек. JSON:0.61789894104004 сек. INI: 0.6460587978363 сек. В прикреплённом архиве файлы для самостоятельного тестирования. Тестируй и удивляйся... $max_index = 1000; echo "<pre>1000 итераций\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { include 'cache.php'; } echo "PHP: ", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = json_decode(file_get_contents('cache.json')); } echo "JSON:", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = parse_ini_file('cache.ini', true);; } echo "INI: ", Timer::finish(), " сек.\n"; test.zip 17 \u043a\u0411 · 2 downloads У меня цифры совершенно другие получаются Running 5 tests, 5000 times each... The 500 highest and lowest results will be disregarded. Results: Test Name Time + Interval Change json_array 0.0004603884 +0.0000000000 baseline json 0.0005063044 +0.0000459161 10% slower ini_section 0.0006743823 +0.0002139940 46% slower ini 0.0006866876 +0.0002262992 49% slower php 0.0008403621 +0.0003799737 83% slower Но я только сейчас вспомнил, почему ini у меня было лучше php. ini - как не парадоксально, потребляет меньше памяти чем include php. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... spectre Опубліковано: 29 грудня 2019 Share Опубліковано: 29 грудня 2019 я вот честно прочитал, а нахрена это все - не понял 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Joomido Supertools Pack #1(3) Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Yesvik Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 2 часа назад, Yoda сказал: И что касается темы в целом. Попытка вот здесь сэкономить - это экономия на спичках. От того что на 100к товаров разбирается кеш сеопро. будет он 200 или 220 мс парсится в объект - ничего не поменяется, а особенно если ссылки с полным путем категорий, где cache->set cache->set cache->set и так 150 раз. Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 19 минут назад, Yesvik сказал: Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Да можно и так, только кеш надо переделать в формате private $cache_data = []; __desctruct { public function set($key, $data) { $cache_data[$key] = $data; } foreach($cache_data as $item) { store($item......); } } Будет небольшой оверхед по памяти, но не будет фризов файловой системы в моменте $cache->set Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 2 жовтня 2019 Share Опубліковано: 2 жовтня 2019 19 часов назад, Yesvik сказал: 1000 итераций PHP: 0.59930419921875 сек. JSON:0.61789894104004 сек. INI: 0.6460587978363 сек. В прикреплённом архиве файлы для самостоятельного тестирования. Тестируй и удивляйся... $max_index = 1000; echo "<pre>1000 итераций\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { include 'cache.php'; } echo "PHP: ", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = json_decode(file_get_contents('cache.json')); } echo "JSON:", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = parse_ini_file('cache.ini', true);; } echo "INI: ", Timer::finish(), " сек.\n"; test.zip 17 \u043a\u0411 · 2 downloads У меня цифры совершенно другие получаются Running 5 tests, 5000 times each... The 500 highest and lowest results will be disregarded. Results: Test Name Time + Interval Change json_array 0.0004603884 +0.0000000000 baseline json 0.0005063044 +0.0000459161 10% slower ini_section 0.0006743823 +0.0002139940 46% slower ini 0.0006866876 +0.0002262992 49% slower php 0.0008403621 +0.0003799737 83% slower Но я только сейчас вспомнил, почему ini у меня было лучше php. ini - как не парадоксально, потребляет меньше памяти чем include php. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... spectre Опубліковано: 29 грудня 2019 Share Опубліковано: 29 грудня 2019 я вот честно прочитал, а нахрена это все - не понял 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Joomido Supertools Pack #1(3)
Yoda Опубліковано: 1 жовтня 2019 Share Опубліковано: 1 жовтня 2019 19 минут назад, Yesvik сказал: Всё верно... я и написал что кеш product.seopath не нужен, а category.seopath можно извлечь из БД одним запросом и положить в кеш на долго... тогда cache->set cache->set cache->set не будет Да можно и так, только кеш надо переделать в формате private $cache_data = []; __desctruct { public function set($key, $data) { $cache_data[$key] = $data; } foreach($cache_data as $item) { store($item......); } } Будет небольшой оверхед по памяти, но не будет фризов файловой системы в моменте $cache->set Надіслати Поділитися на інших сайтах More sharing options...
Vladzimir Опубліковано: 2 жовтня 2019 Share Опубліковано: 2 жовтня 2019 19 часов назад, Yesvik сказал: 1000 итераций PHP: 0.59930419921875 сек. JSON:0.61789894104004 сек. INI: 0.6460587978363 сек. В прикреплённом архиве файлы для самостоятельного тестирования. Тестируй и удивляйся... $max_index = 1000; echo "<pre>1000 итераций\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { include 'cache.php'; } echo "PHP: ", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = json_decode(file_get_contents('cache.json')); } echo "JSON:", Timer::finish(), " сек.\n"; Timer::start(); for ($index = 0; $index < $max_index; $index++) { $cache = parse_ini_file('cache.ini', true);; } echo "INI: ", Timer::finish(), " сек.\n"; test.zip 17 \u043a\u0411 · 2 downloads У меня цифры совершенно другие получаются Running 5 tests, 5000 times each... The 500 highest and lowest results will be disregarded. Results: Test Name Time + Interval Change json_array 0.0004603884 +0.0000000000 baseline json 0.0005063044 +0.0000459161 10% slower ini_section 0.0006743823 +0.0002139940 46% slower ini 0.0006866876 +0.0002262992 49% slower php 0.0008403621 +0.0003799737 83% slower Но я только сейчас вспомнил, почему ini у меня было лучше php. ini - как не парадоксально, потребляет меньше памяти чем include php. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... spectre Опубліковано: 29 грудня 2019 Share Опубліковано: 29 грудня 2019 я вот честно прочитал, а нахрена это все - не понял 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
spectre Опубліковано: 29 грудня 2019 Share Опубліковано: 29 грудня 2019 я вот честно прочитал, а нахрена это все - не понял 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts