On Wed, 13 Nov 2002, Marcus B�rger wrote:
> At 18:59 06.11.2002, Sascha Schumann wrote:
> >sas Wed Nov 6 12:59:04 2002 EDT
> >
> > Modified files:
> > /php4/ext/dba dba.c dba_cdb.c dba_db2.c dba_db3.c dba_dbm.c
> > dba_flatfile.c dba_gdbm.c dba_ndbm.c
> > Log:
> > emalloc never returns 0, so we can simplify the code paths.
> > also replace ecalloc with emalloc+memset, so that the latter can be
> > inlined.
>
> Could you explain what you meant with the second part?
> ecmalloc is a call that uses memset. If memset can be inlined it would
> be inlined in ecalloc as well as in the other place. In other words i do not
> see the difference.
The difference is the placement of the memset call. After
the changes, a compiler which does not optimize across
function borders can inline the memset call (e.g. GCC).
memset() is a lot faster, if the compiler knows the size of
the data field.
Have a look at the assembler code here
http://www.mail-archive.com/dev@;httpd.apache.org/msg02492.html
- Sascha
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php