Articles of оптимизация

Фоновый скрипт на общем хосте с установленными несколькими версиями PHP

Мне нужно было создать эскизы (используя PHP5) для сценария управления изображениями и возникла проблема, когда у моего хоста было несколько версий PHP, установленных (4 и 5), причем PHP4 установлен по умолчанию. Это означало, что любые вызовы php из CLI будут запускать PHP4. Я придумал следующее, как я надеюсь, что это кросс-платформенное решение. Я размещаю его […]

альтернативы php in_array для больших массивов для избежания записей дубликатов

Мне нужно создать большой список случайных чисел от 600 к 2000 тыс., Но список не может иметь дубликатов. Моя текущая «реализация» выглядит так: <?php header('Content-type: text/plain'); $startTime = microtime(true); $used = array(); for ($i=0; $i < 600000; ) { $random = mt_rand(); //if (!in_array($random, $used)) { $used[] = $random; $i++; //} } $endTime = microtime(true); […]

Прогнозирование ветвления на php

Просто прочитайте отличный пост о предсказании ветвей . Я пытался воспроизвести его с использованием php-языка. <?php function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $time_start = microtime_float(); $count = 300000; $sum = 0; for ($i = 0; $i <= $count; $i++) { $array[] = rand(0, $count); } sort($array); for […]

Как оптимизировать запрос mysql, получая категории и подкатегории

Я создал скрипт, который создает меню с категориями, подкатегориями и под-категориями. Чтобы получить эти элементы, я использую 3 отдельных запроса MySQL. Следующим образом: Чтобы получить основные категории: SELECT id, name FROM categories WHERE parent_id=0 Чтобы получить подкатегории для каждой категории, я использую: SELECT id, name FROM categories WHERE parent_id=? Где ? является идентификатором родительской категории. […]

PHP Image Resize / Relocate – Ускорение

Я написал небольшую функцию, чтобы взять URL-адрес и изменить размер изображения и сохранить его на своем локальном компьютере, однако для выполнения этой скрипты требуется около 0,85 секунды, когда нужно создать папку, и 0,64 секунды при изменении размера. В настоящее время я поддерживаю JPEG и PNG, как показано ниже. Мне интересно, есть ли более быстрый метод […]

Оптимизация CSS для автоматического изменения имен классов

Я ищу инструмент для оптимизации полной сборки моего сайта. Я использую SASS в качестве CSS preprocessor и Uglify для создания моих файлов JavaScript и еще нескольких инструментов, связанных с Grunt . Кроме того, разметка в этом случае представляет собой единственный файл index.html , но в других проектах он находится в файлах PHP или в шаблонах […]

Как настроить кеш реального пути PHP?

В последних версиях PHP есть кеш имен файлов, чтобы узнать реальный путь к файлам, а require_once() и include_once() могут воспользоваться им. Есть значение, которое вы можете установить в php.ini для установки размера кеша, но я понятия не имею, как определить, какой размер должен быть. Значение по умолчанию – 16k, но я не вижу способа узнать, […]

PHP APC в режиме CLI

Модуль APC в PHP при работе в режиме командной строки поддерживает оптимизацию кода? Например, когда я запускаю файл с php -f <file> будет ли файл оптимизирован с помощью APC перед выполнением или нет? Предполагая, что APC настроена на загрузку в файле конфигурации. Также будут ли оптимизированы сценарии, включенные в require_once ? Я знаю, что оптимизация […]

Серьезно, должен ли я писать плохой PHP-код?

В последнее время я занимаюсь работой с PHP, и во всем коде, который я видел, люди склонны использовать несколько методов. (Они также имеют тенденцию использовать несколько переменных, но это еще одна проблема.) Мне было интересно, почему это так, и я нашел эту заметку «Вызов функции с одним параметром и пустым телом функции занимает примерно то […]

Как сначала сделать первую часть сайта? (Как в Google PageSpeed)

У меня очень большой сайт, и загрузка занимает довольно много времени. Это займет около 120 секунд. То, что я пытаюсь сделать, это загрузка 1-й половины сайта загружает 1-й. Затем пользователь может работать, пока загружаются другие части. То, что я пытаюсь сделать, ниже. В первую очередь это возможно? По моим сведениям, Да, так как Google PageSpeed […]