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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Roman Chumakov                       2:5020/400     05 Aug 2000  22:41:47
 To : All
 Subject : fork and compile
 -------------------------------------------------------------------------------- 
 
 Имеем скрипт httpdaemon.pl
 Когда устанавливается очередной коннектион - я делаю fork() внутри скрипта.
 
 Вот тут и вопрос: После компиляции запуска перлом, компилированный код
 httpdaemon занимет в памяти, скажем 3Mb.
 Если я делаю fork() - то child, как я понимаю, тоже занимает 3Mb ....
 Можно ли сделать так, чтобы child использовал "shared" код ... Т.е. чтобы
 код функций не дублировался в памяти для child - и он бы занимал меньше
 места.
 Что-бы было похоже на apache+mod_perl, когда его собираешь c DSO ....
 Под mod_perl , "shared" код не дублируется при создании нового клиента, как
 я понимаю.
 
 Т.е. если код апача_с_мод_перлом в памяти занимает 3Mb(= 2Mb shared + 1Mb
 static) ... то при рождении child - этот child использует shared код
 родителя... соответственно код чайлда и родителя в сумме равны не 6Mb, а
 3Mb(родителя) + 1Mb static чайлда. = 4Mb.
 
 Вот и я, хочу использоваь, shared код своими чайлдами.
 
 ...Может чего подскажете?
 
 ...Да и еще один вопрос про тот же fork()....
 После форка, чайлд заного компилится перлом перед выполнением?
 Если да - как этого можно избежать?
 Т.к. если компиляция кода происходит каждый раз после форка, то о
 производительности ткаого демона можно забыть....
 Я прав?
 
 Спасибо?
 Роман.
 --- ifmail v.2.15dev5
  * Origin: Moscow State University (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 fork and compile   Roman Chumakov   05 Aug 2000 22:41:47 
Архивное /ru.perl/5486dc4c2e46.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional