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