|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/5486dc4c2e46.html, оценка из 5, голосов 10
|