Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимизация программы 
:(
    Опции темы
gcc
Дата 28.9.2008, 10:42 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



 smile  gallery2 на php очень медленно работает, много памяти ест, и все равно в каком режиме php или fastcgi или mod_php

ЗЫ mod_perl на много быстрее заработает?

Это сообщение отредактировал(а) gcc - 28.9.2008, 10:47
PM WWW ICQ Skype GTalk Jabber   Вверх
KSURi
Дата 28.9.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



В десятки, а местами может и сотни раз быстрее

Это сообщение отредактировал(а) KSURi - 28.9.2008, 11:28


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
gcc
Дата 28.9.2008, 11:31 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



а mod_perl и mod_php разные чтоли совсем?  



Это сообщение отредактировал(а) gcc - 28.9.2008, 11:35
PM WWW ICQ Skype GTalk Jabber   Вверх
rcdimon
Дата 28.9.2008, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Цитата

gallery2 на php очень медленно работает, много памяти ест, и все равно в каком режиме php или fastcgi или mod_php



Я сталкивался с этим, я думаю, что Gallery2 просто написана не достаточно оптимально. Использует Smarty, который сам по себе довольно тяжелый и т.д. Основной выигрыш использования mod_perl по скорости перед обычным cgi в том, что Perl находится уже в памяти и ему не надо тратить время на загрузку перед выполнением сценария. Если сам сценарий тяжелый- то, конечно, летать не начнет.


Цитата

а mod_perl и mod_php разные чтоли совсем?  

 Я где-то слышал, что php быстрее начинает исполнять сценарий- поэтому на небольших и несложных программках php выгоднее чем perl cgi. Но после загрузки в память интерпретатора Perl- он работает все-таки быстрее, чем php. Используя mod_perl можно освободиться от накладных расходов на загрузку интерпретатора в память.


Цитата

для людей, не первый год разрабатывающих ПО под mod_perl звучит по-детски наивно 



Я не разрабатывал никогда до сих пор По под mod_perl- иначе не создавал бы эту тему  smile 


Цитата

Если в слово "высоконагруженый" Вы вкладываете тот-же смысл, что и я (т.е. ПО на сервере должно иметь максимальное быстродействие при использовании минимума оперативной памяти), то разработка скриптов без использования mod_perl или FastCGI - это мазахизм



Согласен на все 100%. Поэтому решил осваивать )

Цитата

Серьезный web-проект обычно включает:



Очень интересно, всегда было интересно как это устроено ) Таких вещей я пока не делал, конечно. Где можно подробнее ознакомиться с технологиями высоконагруженых систем? Ну кроме репликации баз данных- этого вроде во всех книгах про БД полно... Хотя и не помешает еще раз  smile 

Цитата

главное отжать у руководства 70 ядерный проц от интела

Могу дать погонять свой 71.5  smile 

Это сообщение отредактировал(а) rcdimon - 28.9.2008, 16:15
PM MAIL ICQ   Вверх
rcdimon
Дата 28.9.2008, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Пропустил программу через профайлер, а потом его отчет через программу dprofpp

Получились следующие результаты

Цитата

Total Elapsed Time = 1.753412 Seconds
  User+System Time = 1.671412 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
 48.5   0.811  1.817  23031   0.0000 0.0001  Text::Balanced::_match_codeblock
 29.4   0.492  1.340  28870   0.0000 0.0000  Text::Balanced::_match_variable
 25.1   0.420  0.420  60012   0.0000 0.0000  Text::Balanced::_failmsg
 11.4   0.191  0.303  19063   0.0000 0.0000  Text::Balanced::_match_quotelike
 5.62   0.094  2.067     21   0.0045 0.0984  main::BEGIN
 3.05   0.051  2.005    138   0.0004 0.0145  Switch::filter_blocks
 2.45   0.041  0.041  70502   0.0000 0.0000  Regexp::DESTROY
 0.96   0.016  0.016      3   0.0053 0.0053  CGI::Carp::BEGIN
 0.96   0.016  0.016      5   0.0032 0.0032  Text::Balanced::BEGIN
 0.96   0.016  0.016      1   0.0160 0.0160  DBI::install_driver
 0.96   0.016  0.016      6   0.0027 0.0027  ActiveState::Path::BEGIN
 0.90   0.015  0.015      3   0.0050 0.0050  vars::BEGIN
 0.90   0.015  0.015      3   0.0050 0.0050  DynaLoader::BEGIN
 0.00   0.000  0.000      1   0.0000 0.0000  Config::launcher
 0.00   0.000  0.000      1   0.0000 0.0000  Config::fetch_string



Т.е. как я понял что-то под именем Text::Balanced::_match_codeblock жрет половину времени выполнения программы, вызываясь 23 тысячи раз... Хотелось бы еще узнать что это такое и как с ним бороться  smile 
PM MAIL ICQ   Вверх
ginnie
Дата 28.9.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



rcdimon, если это результат одного запуска скрипта, то надо срочно делать предварительный заказ на всю партию компьютеров с новыми 70-и ядерными процессорами  smile

Цитата

...Хотелось бы еще узнать что это такое и как с ним бороться

Интересный вопрос от разработчика  smile
Мои телепатические способности практически не развиты, возможно кто-то из коллег будет удачливее и напишет Вам какие нужно внести изменения в скрипт, чтобы все "залетало".


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
rcdimon
Дата 28.9.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Цитата

rcdimon, если это результат одного запуска скрипта


Ну да.. Одного )

Скажите хотя бы что такое 

Text::Balanced::_match_codeblock
Text::Balanced::_match_variable
Text::Balanced::_failmsg
Text::Balanced::_match_quotelike
PM MAIL ICQ   Вверх
rcdimon
Дата 28.9.2008, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Удалось снизить время выполения скрипта с 1.8 секунды до 0.2 просто заменив use на require (при подключении модулей) и отказавшись от использования Switch... В документации прочитал, что ему нужен для работы тот самый Text::Balanced.... 

Удалил Switch- исчезли все

Text::Balanced::_match_codeblock
Text::Balanced::_match_variable
Text::Balanced::_failmsg
Text::Balanced::_match_quotelike

Это сообщение отредактировал(а) rcdimon - 28.9.2008, 23:29
PM MAIL ICQ   Вверх
KSURi
Дата 28.9.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Имхо, такие вещи надо не "пальцем в небо" надо угадывать, а пошаговой отладкой.


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
rcdimon
Дата 29.9.2008, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



Я не пальцем.. я документацию почитал  smile 

Cpan.org
Цитата

DEPENDENCIES 

The module is implemented using Filter::Util::Call and Text::Balanced and requires both these modules to be installed.

PM MAIL ICQ   Вверх
gcc
Дата 30.9.2008, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



достаточно ли использовать для безопасности use strict и use vars (в котором $dbh и несколько хэшей ключи которого часто используются) может быть еще что-то надо или больше ничего не надо?

Это сообщение отредактировал(а) gcc - 30.9.2008, 02:53
PM WWW ICQ Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.