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

Лучше использовать ob_get_contents () или $ text. = 'Test';

Я видел много ob_get_clean() последнее время. Обычно я выполнил $test .= 'test' Мне интересно, если один быстрее и / или лучше, чем другой. Вот код с использованием ob_get_clean() : ob_start(); foreach($items as $item) { echo '<div>' . $item . '</div>'; } $test = ob_get_clean(); Вот код с использованием $test .= 'test' : $test = ''; […]

Как правильно использовать транзакции MySQL

Мне нужна помощь. У меня разные файлы. Например: index.php, news.php include-scripts, такие как: facebook.php, pay.php и т. д. На всех страницах (кроме news.php) транзакция запускается в начале скрипта и заканчивается в конце скрипта. На таких страницах, как index.php и news.php, я включаю pay.php. Но проблема в том, что когда я посещаю index.php, транзакция уже запущена, […]

Перестановка для строки в php

У меня проблема с моим кодом при поиске перестановки строки для строки длиной больше 7. Например, «abcdefgh». Я должен найти перестановку слова длиной до 12. Просмотрите мой код и предложите, можно ли оптимизировать. function permute($str) { if (strlen($str) < 2) { return array($str); } $permutations = array(); $tail = substr($str, 1); foreach (permute($tail) as $permutation) […]

Присоединить операцию в формуле Хаверсина

Я использую формулу Хаверсина в PHP, как следует $result=mysqli_query($mysqli,"SELECT *,( 6371 * acos( cos( radians({$lat}) ) * cos( radians( `latitude` ) ) * cos( radians( `longitude` ) -radians({$lon}) ) +sin( radians({$lat}) ) * sin( radians( `latitude` ) ) ) ) AS distance FROM `places` HAVING distance <= {$radius} ORDER BY distance ASC") or die(mysqli_error($mysqli)); И […]

PHP Оберните строку в двойные кавычки

Я пытаюсь обернуть строку, введенную пользователем, в двойные кавычки для вывода, но я хочу убедиться, что я не получаю двойные двойные кавычки с обеих сторон строки. Например, если пользователь отправляет сообщения "Здравствуйте" Я не хочу превращать его в ""Здравствуйте"" Я могу сделать это довольно легко, используя код ниже, однако я обеспокоен тем, что это может […]

альтернативы 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-скрипт, и работает ли он очень медленно при работе сотен пользователей каждую секунду, и еще лучше, есть ли какой-нибудь инструмент, который мог бы сказать мне примерно, какая часть кода замедляет меня? … Я не хочу размещать здесь код (главным образом потому, что этот вопрос относится к чему-то другому […]

Оптимизация производительности Symfony 2

Мы ищем инфраструктуру PHP для работы в будущем и в настоящее время тестируем продукты с помощью Symfony 2. Для этого мы переработали наш API и внедрили его в виде пакета в Symfony. Оказалось, что Symfony кажется очень медленным – на самом деле намного медленнее, чем наша старая (даже не продуманная) система. Мы попытались оптимизировать производительность […]

Упаковка, кеширование, JS и CSS в PHP, которые различают среду разработки и производства

Я стараюсь сделать разработку легкой и иметь оптимизированную производительность в производстве. Цели, которые я пытаюсь сделать, это: Делайте производственные страницы быстро! Я бы хотел, чтобы Google Page Speed и YSlow вернули лучшие результаты. Это означает: Комбинируйте и сжимайте JS-файлы и CSS и поместите группу в нужное место (внизу или вверху страницы) в HTML. Для .js […]

Каковы преимущества / недостатки монолитного кодирования PHP по сравнению с небольшими специализированными скриптами php?

Я исторически использовал монолитный подход к PHP-кодированию. То есть, я пишу один index.php со средним размером 70k-250k и использую mod_rewrite превратить остальные REQUEST_URI в параметры, переданные в index.php, чтобы контролировать происходящее. Альтернативой было бы написать много небольших скриптов php, каждый из которых специализировался с определенной целью. Я думаю, что некоторые из моих более активных сценариев […]