Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Публикации
Полезные мелочи
Оптимизация программ на PHP


Автор Дмитрий Бородин php.spb.ru


  • Выносите $переменные из "текстовых строк" - ускорение 25-40%
  • Короткие переменные не более 7 символов - ускорение 15%
  • Тормозят ли массивы в PHP? Вернее, как именно. Ускорение 40%
  • Выносите многомерные массивы из "текстовых строк" - ускорение 25-30%
  • Регулярные выражения: PHP(POSIX) vs Perl. Ускорение 60-200%
  • Циклы: for, foreach, while, count/sizeof() - ускорение 15%-30%
  • Для чтения файла file() быстрее, чем fopen+цикл - ускорение 40%
  • Загрузка всех тестов (php файлы)


В этой статье на простых и очевидных примерах рассказано о некоторых способах оптимизировать любую (готовую) программу, не меняя ни одного алгоритма. Для такой оптимизации можно даже написать программу для автоматического выполнения всех рекомендаций, все они очень простые (правда, для начала придется написать парсер пхп-кода).




Выносите $переменные из "текстовых строк" - ускорение 25-40%Одна и таже операция присваивания (либо echo/print для вывода на экран) в зависимости от того, заключены ли переменные в кавычеки или нет, сильно влияет на скорость. В первом и втором вариантах добавлены пробелы, чтобы выравнять размер общего кода для парсинга.
  1. {$x="test".$test;    }
  2. {$x="test $test";    }
  3. {$x="test";$x.=$test;}
Переменная $test содержит строку "1234567890".

счетчиккол-во вызововобщее вpемясpеднее вpемя% от min% от maxобщее время
test N113.59113.591100.0%70.9%
test N215.06165.061640.9%100.0%
test N314.98704.987038.9%98.5%

Итак, никогда не пишите $a="$b", ибо это затормозит программу (в этой строке) на 40%.

Однако, если у вас большая строка, где много текста и переменных, различия в скорости уменьшаются, т.к. общие затраты на парсинг становятся намного больше, чем разные по эффективности команды. Но почему бы и не увеличить скорость программы (строк присваивания) почти на четверть таким простым методом?

  1. {$x="test ".$test." test ".$test." test ".$test;                }
  2. {$x="test $test test $test test $test";                         }
  3. {$x="test ";$x.=$test;$x="test ";$x.=$test;$x="test ";$x.=$test;}
счетчиккол-во вызововобщее вpемясpеднее вpемя% от min% от maxобщее время
test N117.68947.689400.0%66.0%
test N219.55159.551524.2%82.0%
test N3111.650611.650651.5%100.0%




Читать статью полностью


Дата публикации: 20.06.2008
Прочитано: 7668 раз
[ Назад | Начало | Наверх ]
Комментарии

Serg_pnz
Дата: 21.06.2008 | Комментарий: 3
Serg_pnzПри чем тут слаед? Статья про пхп в принципе.
А слаед, он весь состоит из кусков по типу 2 и 3
Код
1
2
# {$x="test $test";    }
# {$x="test";$x.=$test;}

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Sнэйк
Дата: 20.06.2008 | Комментарий: 2
Sнэйкmoskmii + 1
moskmii
Дата: 20.06.2008 | Комментарий: 1
moskmiiХотелось бы увидеть и конкретные примеры для SLAED...
Вы не можете отправить комментарий анонимно, пожалуйста зарегистрируйтесь.
Календарь 3 в 1
- М - Г + Г + М
Ноябрь, 2024
пнвтсрчтптсбвс
123
45678910
11121314151617
18192021222324
252627282930
Купить.
Можно в кредит на 90 дней!
Навигация
»» RSS
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул


Генерация страницы: 0.053 сек. и 18 запросов к базе данных за 0.025 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.