Re: Fw: PHP URL issues

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

 



On Wed, 2007-03-14 at 17:15 +0100, Satyam wrote:
> ----- 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.

I realize that, but in the absence of your own management system (option
2 you mention) it is superior to using malloc(), memcpy(), and free().

Cheers,
Rob.
-- 
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for       |
| creating re-usable components quickly and easily.          |
`------------------------------------------------------------'

-- 
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