Re: Re: Persistent PHP web application?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Richard Lynch wrote:
Rasmus Lerdorf wrote:

Robert Cummings wrote:

FWIW, I can't see how a WYW server is going to make his application run
faster. The transfer of the data he wants will still have to be
serialized and unserialized (in an optimal WYW server only unserialized)
and this is is exactly his bottleneck using an include. Actually I'd
imagine because he's using an accelerator it's fast as it can get
without using some kind of shared memory system. Correct me if I'm
confused and you know how to transfer raw zend vars over a socket
without the need to unserialize on the receiver end.

You are correct, serialization tends to be the bottleneck when it comes to restoring large data structs. So you either avoid recreating the data structure and just use the data directly, or use an in-process mechanism like apc_store/apc_fetch which does a straight memcpy and doesn't need top serialize. Of course, this still doesn't match writing your own extension to manage your persistent data directly without needing to shuffle it around back and forth between process and shared memory.


Perhaps I'm just being naive and/or stupid, but I was imagining his array
elements going in separate apc_store()s...

And he'd not serialize them, cuz they're just INT or CHAR...

So he'd only retrieve what he needed on a one-by-one basis, very quickly...

But maybe that can't be done.

You can apc_store an entire PHP array in a single call and bring it back out with a single apc_fetch call without any serialization needed. It does however do a deep-copy, so there is still overhead, but it is an order of magnitude faster than serialize/unserialize.


-Rasmus

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux