Re: Shared vs Static Performance
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.php archive

Re: Shared vs Static Performance

From: Andy Jeffries <news@andyjeffries.co.uk>
Date: Wed Apr 19 2006 - 00:23:39 CEST

On Tue, 18 Apr 2006 14:55:41 -0700, tomdean20 wrote:
> Does anyone have a general idea of the difference in performance when
> compiling PHP with primarily shared extensions rather than static? A
> recent Yahoo presentation "PHP at Yahoo" highlighted that they built PHP
> with the "disable-all" option, which implies that they load all of their
> extensions dynamically.
>
> I'd be curious if anyone has any experience in the performance difference
> bewteen the two, i.e. 5% performance loss, not just "it's only a little
> bit slower".

To be honest I think it'd make pretty much sod-all difference either way,
at least on a Linux platform. Linux process forking using a Copy-on-write
memory model, so creating a new apache/PHP process for a new connection
(the only time dynamic linking to a shared extension would happen unless
you literally load them in the script) is as lightweight either way as the
entire processes memory is referenced twice and new memory only allocated
if pages change.

I'm sure Yahoo has found a slight increase in performance (or some other
reason) or they'd do it the other way round, but I'd be surprised if
performance difference was significant (of course, for a single option
change during compile time it's worth doing even if relatively minor).

Sorry to not give you a definitive answer, but I just thought I'd pipe up
with that (in case anyone reading the thread doesn't know about Linux
process forking).

Cheers,

Andy

-- 
Andy Jeffries MBCS CITP ZCE   | gPHPEdit Lead Developer
http://www.gphpedit.org       | PHP editor for Gnome 2
http://www.andyjeffries.co.uk | Personal site and photos
Received on Mon May 1 02:59:12 2006