Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     23 Oct 2003  15:34:17
 To : Sergey Skvortsov
 Subject : Re: ModPerl vs FastPerl vs PHP
 -------------------------------------------------------------------------------- 
 
 Sergey Skvortsov wrote:
 
 > как резюме - методики максимизации shared code в
 > общем случае нет.
 
 Могу предложить такую методику. Hе автоматическую,
 но и не нарушающую совместимости. Ввести именованные
 пулы памяти. К примеру, изначально в системе
 присутсвует единственный пул STDPOOL. Любая память
 выделяется из него. Прагмой use mempool lexical => 'LEXPOOL';
 мы создаем (если такового еще не было) новый пул и после
 данной команды все lexical-scope vars будут аллокироваться
 в новом пуле. Аналогично и для остальных общеупотребимых
 структур данных. Hу и возможность явного указания пула
 для конкретной переменной через аттрибуты:
 
 my ($a, $b, $c) : mempool(PRIVATE) = @_;
 my $code = sub : mempool(STDPOOL) { print "closured: $xx\n" };
 
 все пулы в сущности однотипны и бесхитростны с единственным
 условием: память от системы пулы захватывают целыми страницами.
 (Дополнительная вкусность - можно сделать mlock(2) на какой-либо
 пул памяти.) Пример использования use mempool в startup.pl от
 mod_perl:
 
 use mempool all => 'SHARED';
 use CGI;
 
 CGI->compile(':all');
 
 use mempool all => 'STDPOOL';
 
 Примечание: либо структуры SV/HV/CV/GV/... всегда аллокировать
 в стандартном пуле а указание пула относить только к PV в них,
 либо надо рвать структуры SV/HV/CV/GV на части, чтоб постоянно
 меняющийся refcnt не приводил к расслоению страниц с read-only
 данными. Или, как промежуточный вариант, более эффективный чем
 первый, но более простой чем второй. Те структуры SV которые
 становятся членами массивов и хэшей (HV/AV) переаллокировать при
 присвоении из стандартного в указанный пул. PV не трогать. Hда...
 
 -- 
 Андрей
 
 P.S. Кто понял, что я тут понаписал - поднимите руку.
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 ModPerl vs FastPerl vs PHP   Ilia Vinokurov   22 Oct 2003 10:44:25 
 Re: ModPerl vs FastPerl vs PHP   Victor Wagner   22 Oct 2003 11:48:52 
 Re: ModPerl vs FastPerl vs PHP   Ivan Frolcov   22 Oct 2003 12:30:55 
 Re: ModPerl vs FastPerl vs PHP   Victor Wagner   22 Oct 2003 12:52:35 
 Re: ModPerl vs FastPerl vs PHP   Ivan Frolcov   22 Oct 2003 13:26:16 
 Re: ModPerl vs FastPerl vs PHP   Konstantin Tokar   22 Oct 2003 15:46:10 
 Re: ModPerl vs FastPerl vs PHP   Victor Wagner   22 Oct 2003 15:55:17 
 Re: ModPerl vs FastPerl vs PHP   Konstantin Tokar   22 Oct 2003 16:49:51 
 Re: ModPerl vs FastPerl vs PHP   Andrey Sapozhnikov   22 Oct 2003 17:58:04 
 Re: ModPerl vs FastPerl vs PHP   Igor Sysoev   23 Oct 2003 16:46:47 
 Re: ModPerl vs FastPerl vs PHP   Andrey Sapozhnikov   23 Oct 2003 18:23:08 
 Re: ModPerl vs FastPerl vs PHP   Sergey Skvortsov   23 Oct 2003 19:41:52 
 Re: ModPerl vs FastPerl vs PHP   Igor Sysoev   23 Oct 2003 19:53:48 
 Re: ModPerl vs FastPerl vs PHP   Igor Sysoev   23 Oct 2003 19:50:45 
 Re: ModPerl vs FastPerl vs PHP   Sergey Skvortsov   23 Oct 2003 12:30:55 
 Re: ModPerl vs FastPerl vs PHP   Victor Wagner   23 Oct 2003 12:54:17 
 Re: ModPerl vs FastPerl vs PHP   Sergey Skvortsov   23 Oct 2003 14:44:38 
 Re: ModPerl vs FastPerl vs PHP   Victor Wagner   23 Oct 2003 15:08:57 
 Re: ModPerl vs FastPerl vs PHP   Sergey Skvortsov   23 Oct 2003 15:23:36 
 Re: ModPerl vs FastPerl vs PHP   Andrey Sapozhnikov   23 Oct 2003 15:34:17 
 Re: ModPerl vs FastPerl vs PHP   Sergey Skvortsov   23 Oct 2003 19:47:07 
 Re: ModPerl vs FastPerl vs PHP   Andrey Sapozhnikov   24 Oct 2003 00:51:11 
 Re: ModPerl vs FastPerl vs PHP   Sergey Skvortsov   24 Oct 2003 15:50:36 
 Re: ModPerl vs FastPerl vs PHP   Andrey Sapozhnikov   24 Oct 2003 18:13:44 
Архивное /ru.cgi.perl/65776e81f270.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional