[dev] Re: [PEAR-CVS] cvs: pear /DB DB.php

Jon Parise jon at horde.org
Wed Jan 28 23:11:48 PST 2004


On Thu, Jan 29, 2004 at 01:36:01AM -0500, Daniel Convissor wrote:

> > Woops, I should have been clearer.  What kinds of tests have you run
> > that indicate that empty() is slow?
> 
> OH! :)
> 
> I've been told such by a couple different folks who are involved in 
> developing PHP.

I just ran a simple benchmark.  Here are the results (for 4.3.5-dev):

$var is undefined
--------------------------------------------------------------------------
if ($var)                    1075359033.35615200   1.53820896149    55.22%
--------------------------------------------------------------------------
if (isset($var))             1075359033.75500700   0.398854970932   14.32%
--------------------------------------------------------------------------
if (empty($var))             1075359034.16585300   0.410845994949   14.75%
--------------------------------------------------------------------------
if (isset($var) && $var)     1075359034.60332200   0.437469005585   15.70%
--------------------------------------------------------------------------

$var = ''; / $var = 0; / $var = 1;
--------------------------------------------------------------------------
if ($var)                    1075358938.68592300   0.353079080582   19.38%
--------------------------------------------------------------------------
if (isset($var))             1075358939.12858000   0.442656993866   24.29%
--------------------------------------------------------------------------
if (empty($var))             1075358939.56134500   0.432765007019   23.75%
--------------------------------------------------------------------------
if (isset($var) && $var)     1075358940.15466400   0.593318939209   32.56%
--------------------------------------------------------------------------

The tests are nearly identical under PHP5 except the 'if ($var)' test
for '$$var = ''; / $var = 0; / $var = 1;' was about 2% slower.

-- 
Jon Parise (jon at php.net) :: The PHP Project (http://www.php.net/)


More information about the dev mailing list