> There is one thing which could be done with Apache 1.3 that goes in the same
> direction, also it doesn't save as much memory as using threads. You could
> preload and precompile the pages for Embperl 2.0 in the parent process. As
> long as no writing to these memory locations takes place, the memory will be
> shared between all child processes. Also the child process seems to use the
> same amount of virtual memory, they actually takes up less phycial memory.
>
> To do this, create a startup.pl and include it with
>
> PerlRequire startup.pl
>
> in your httpd.conf, in the startup.pl say
>
> use Embperl ;
>
> Embperl::Execute ({inputfile => 'file1.emb2', import => 0}) ;
> Embperl::Execute ({inputfile => 'file2.emb2', import => 0}) ;
> Embperl::Execute ({inputfile => 'file3.emb2', import => 0}) ;
> ....
>
> Load all the files you use in this way. I can't exactly say how much this
> will reduce the overall memory useage (because it highly depends on the
> content of your files), but it's really worth a try.
Can we also do this with sites built using EmbperlObject in 1.3.x? I would be very
interested in preloading as much as possible so that it can live in shared memory.
Do you know offhand what causes memory pages to be copied-on-write? Obviously it
happens when something is changed by one of the Apache processes, but why would code
pages change at all? How do code pages relate to data pages?
TIA
-Neil
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]