Работа с массивом на PHP
Проведено исследования на сервере скорости обработки большого массива строк (166385 строк) и способ хранения массива в виде текстового фала (подобно csv с разделителем строк "переносом строки" и разделителем полей "табуляцией"), в виде сериализации массива. Оба способа при записи на диск подвергаются сжатию функцией gzencode(), таким образом занимат примерно в 5 раз меньше памяти (2 Мб вместо 10Мб). Нужно доработать эксперимент проверкой еще одного способа указанного здесь http://qaru.site/questions/123310/how-do-i-store-an-array-in-a-file-to-access-as-an-array-later-with-php (ищите на странице фразу "Еще один быстрый способ"), только попробуйте запаковать массив в виде : https://www.php.net/manual/ru/phar.using.intro.php и потом подключить файл к основному скрипту.
Вообщем Ваша задача сделать пример выгруззки любого массива в Phar-архив и затем подключить его. По идее такой способ хранения будет занимать места не больше чем gzip-архив, при этом подключаться гораздо быстрее. Поскольку сейчас узким местом является десериализации массива либо разбивка строк либо разбивка строк при помощи explode. И проверить, будет ли способ через подключение Phar-архива работать быстрее, чем десериализация. Поскольку еще пробовали eval http://qaru.site/questions/123310/how-do-i-store-an-array-in-a-file-to-access-as-an-array-later-with-php как описано здесь, но более быстрых результатов это почему-то не дало.
Все время в єксперименте обозначено в миллисекундах: с*10-3.
Результату єксперимента:
Разрешено ОЗУ: 128M
Еxplode
Время создания массива csv: 258.46с*10-3
Всего: 166385 строк
Пик ОЗУ: 86.75Мб
Сериализация
Время сериализации массива: 65.21с*10-3
Время записи ser: 70.69с*10-3
Время считывания ser: 5.34с*10-3
Время десериализации массива: 88.88с*10-3
Всего: 166385 строк
Разрешено ОЗУ: 128M
Пик ОЗУ: 125.5Мб
-
1482 28 0 Обращайтесь, сделаю
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Актуальные фриланс-проекты в категории PHP
Разработка веб-сайта WordPress
1002 UAH
|
Сломалась корзина WooCommerce (WordPress) — не добавляет товар и не открывается страница корзиныНа сайте интернет-магазина https://www.dobryi-gospodar.com/ (WordPress + WooCommerce) полностью перестала работать функция оформления заказа. При нажатии на кнопку "Добавить в корзину" (как в карточке товара, так и в каталоге) начинается длительная загрузка (индикатор крутится),… CMS, PHP ∙ 2 дня назад ∙ 59 ставок |
Функция поиска товаров по изображениюНеобходимо разработать и интегрировать на сайт функциюпоиска товаров по изображению.Что нужно реализоватьКнопка«Поиск по фото»на сайте.Загрузка изображения пользователем: JPG.Поиск визуально похожих товаров в каталоге.Вывод результатов в виде стандартных карточек товаров: фото,… PHP, Веб-программирование ∙ 2 дня 7 часов назад ∙ 45 ставок |
Парсер expireddomains.net
5000 UAH
Нужен парсер expireddomains.net на сайте нужно сначала залогиниться, проблема в том что блокирует ИП при попытке парсить данные, нужно парсить тематические домены по списку ключевых слов, кто не уверен в своих силах не пишите PHP, Веб-программирование ∙ 4 дня 6 часов назад ∙ 51 ставка |
Интеграция платежного сервиса с Sales Force
3104 UAH
На сайте стоит виджет платежной системы, его нужно интегрировать с asles fоrce что бы все требуемые параметры видели на стороне salec force Нужно сдлеать так, что бы все платежи и подписки кнтролировались через salecforec PHP, Веб-программирование ∙ 4 дня 10 часов назад ∙ 41 ставка |