Edit report at https://bugs.php.net/bug.php?id=64404&edit=1

 ID:                 64404
 Comment by:         zeusgerde at arcor dot de
 Reported by:        zeusgerde at arcor dot de
 Summary:            assert(true) increases memory_get_usage()
 Status:             Not a bug
 Type:               Bug
 Package:            *General Issues
 Operating System:   Windows 7
 PHP Version:        5.4.12
 Block user comment: N
 Private report:     N

 New Comment:

I guess the same goes for this? The string 'true' is a new variable, that is 
not 
freed?

<?php

echo "assert(true)\r\n";
echo memory_get_usage(), "\r\n"; // 124448
assert(true);
echo memory_get_usage(), "\r\n"; // 124448

echo "assert('true')\r\n";
echo memory_get_usage(), "\r\n"; // 124448
assert('true');
echo memory_get_usage(), "\r\n"; // 124640 > 124448


Previous Comments:
------------------------------------------------------------------------
[2013-03-11 14:48:06] ni...@php.net

The memory usage is increased not due to the assert(true) call, but because of 
the variables used to store the memory usage. If you do something like this the 
memory usage will not change:

var_dump(memory_get_usage());
assert(true);
var_dump(memory_get_usage());

------------------------------------------------------------------------
[2013-03-11 12:19:26] zeusgerde at arcor dot de

Description:
------------
assert(true) increases memory_get_usage()


Test script:
---------------
<?php

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
echo phpversion(), "\r\n";

$oldMemUsage = memory_get_usage();
assert(true);
$newMemUsage = memory_get_usage();
assert('$oldMemUsage == $newMemUsage');
echo 'OK';


Expected result:
----------------
5.4.12
OK


Actual result:
--------------
5.4.12

Warning: assert(): Assertion "$oldMemUsage == $newMemUsage" failed in 
D:\bar.php 
on line 10
OK


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64404&edit=1

Reply via email to