----- Original Message -----
From: "Robert Cummings" <robert@xxxxxxxxxxxxx>
To: "Satyam" <Satyam@xxxxxxxxxxxxx>
Cc: <php-general@xxxxxxxxxxxxx>
Sent: Wednesday, March 14, 2007 4:49 PM
Subject: Re: Fw: PHP URL issues
On Wed, 2007-03-14 at 16:31 +0100, Satyam wrote:
One more example of a questionable benchmark, not wrong but I wonder (as
I
was doing in my previous) whether it is really representative.
There are two main ways to handle strings, one is to malloc exactly the
required memory for each string and keep moving characters around from
one
chunk of memory to another. If you append a single character to a
string,
you would measure both, add their lengths plus whatever overhead your
data
representation requires, malloc that much memory, move the characters
from
each source and then free the memory occupied by the first.
The other way to do it is to malloc memory in more or less fixed sizes
and
include in the header of your variable a length field.
You forgot realloc().
Yes I did, but it doesn't matter that much. When asigning by blocks the
best strategy is to keep all blocks the same size, or of a few assorted
sizes, and link them in lists because blocks of different sizes end up
fragmenting the memory too much and giving the garbage collector lots of
trouble, if all blocks are of the same size, they are immediately reusable.
Basically, if you are dealing with the memory yourself, assigning it,
freeing it, collecting garbage afterwards and defragmenting, you won't
resort that much to individual calls to the memory library functions, you
just grab a big chunk and manage it on your own.
Satyam
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php