You are here: Re: [PHP] Persistent PHP web application? « PHP « IT news, forums, messages
Re: [PHP] Persistent PHP web application?

Posted by Xuefer Tinys on 01/08/05 20:36

even apc/eAcc have to copy from shm to php-memory(alloc by emalloc),
because $array might be modified anytime
i'd guess this is almost same as serialize/unserialize
i doubt if there's anyway to have 1 memcpy $array<-from/to->shm, php
will release 1 element of $array when the element is unset(refcount=0)
maybe apc set element refcount+1, so it won't free by php, but apc
free the whole block itself? or rely on zend memory manager to free?
apc opcode seems doing this way, but i don't know it much.

sth off topic:
the constant-array definition imho, should be optimized to which like
static variable but each time get a new copy
$a = array(...big..)
to:
static $__a = array(....big...)
$a = $__a;
it seems static var isn't store as opcode, i'm not quite sure
well, end of off topic :)

On Thu, 06 Jan 2005 10:58:07 -0800, Rasmus Lerdorf <rasmus@lerdorf.com> wrote:
> Adrian Madrid wrote:
> > I think I understand where you're coming from. I've had a similar
> > problem and the best solution I've found is eAccelerator (previously
> > known as Turck MMCache). What EA does is keep the bytecodes PHP compiles
> > inshared memory so next time you need that script PHP doesn't need to
> > recompile, EA returns the bytecode from SHM. Now, since PHP scripts are
> > compiled and saved in SHM all I need to do is /save/ the data that does
> > not change often but requires a lot of queries as code (an array inside
> > a script) and include it whenever I need the data. No recompiling, no
> > need to touch the DB again, pure speed. I hope all this helps you. I
> > personally don't need extra processes and stuff like that but if you
> > really want all that you can take a look at phpbeans.
>
> What you are talking about is opcode caching. While it certainly speeds
> things up, it can be done much faster. When you cache a file that
> contains a large PHP array definition, all you are caching are the
> instructions to create that array. On every request these instructions
> need to be loaded from shared memory and executed in order to recreate
> the array. This can be quite slow. What we are discussing here are
> ways to avoid recreating the array on every request which is quite
> different.
>
> -Rasmus
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация