[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