|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Serge Chervjakov 2:5020/400 14 Nov 2003 18:55:28 To : Alex Povolotsky Subject : Re: perl или c#? -------------------------------------------------------------------------------- Thu Nov 13 2003 11:00, Alex Povolotsky wrote to "Serge Chervjakov": >> если он на перле будет написан. Hо мне жутко интересно: если я перепешу >> его на СИ, то будет ли положительный эффект? Финт именно в том, что идет >> работа с базой данных (а именно mysql). AP> Я подозреваю, что проблема (а) в форках и (б) в неспроектированной AP> БД. Используй mod_perl и подумай над оптимизацией базы. Hе в БД дело, а мод_перл и так там стоит. БД там спроектированая, поиск идет как я уже говорил по индексированому полю ( к тому же числовому, а число записей - около 1000 в данном случае, но может колебаться до 5000 и более). Кроме того, не помог и убор кавычек от numurl=$field{numurl}. По крайней мере, рез-т таков: с кавычками: Total Elapsed Time = 2.367332 Seconds User+System Time = 0.269124 Seconds Без: Total Elapsed Time = 16.30505 Seconds User+System Time = 0.249124 Seconds Т.е. я так понял, смотреть надо на User+System Time, и судя по тому, что рез-т постоянно колеблется (от 0,237 до 0,272 - последнее было и в бескавычковом варианте). Hо вот что самое интересное, так это: 40.4 0.100 0.199 9 0.0111 0.0221 main::BEGIN. Дальше я что делаю, запрос (который предполагаемо наиболее ресурсоемок) отделяю в функцию (zapr). sub zapr { $sth=$dbh->Query("select * from tburl where numurl='$field{numurl}'"); %tbgaler=$sth->FetchHash; } Main::Zapr в списке даже не появился! Т.е. причина не в базе. То же самое и с sub conn { $dbh=Mysql->Connect('localhost','lala','lala','lala'); } Путем беспрерывных очисток скрипта, я довел его до состояния: -- use Mysql; print 'ok'; -- И что бы вы думали? Правильно, эта зараза жрет 0,14 с (примерно вдвое меньше изначально). И фактически, весь скрипт тормозит из-за нее. Хотя конечно есть и вторая половина:). Дык вот вопрос: поможет ли переписывание на Сях? --- ifmail v.2.15dev5.1 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/166797444aeb7.html, оценка из 5, голосов 10
|