<?php
function report_memory( $string = '' ) {
echo "$string : {$mem} kb\n " ;
return $mem ;
}
$start = report_memory( 'Start of stript' ) ;
echo "\n " ;
for ( $i = 10000 ; $i > 0 ; $i -- ) {
$var = "filler_$i " ;
$$var = 'banana' ;
}
$diff = ( $array_size = report_memory( 'After banana' ) ) - $start ;
echo "Fill Size: {$diff} kb\n \n " ;
$grew = ( $first_get = report_memory( 'After get_defined_vars()' ) ) - $array_size ;
echo "Growth from get_defined_vars(): {$grew} kb\n \n " ;
$grew = report_memory( 'One more, for fun' ) - $first_get ;
echo "Second Get grew: {$grew} kb\n " ;
report_memory( 'After unset()' ) ;
echo "\n EXTRA\n " ;
// direct pass to a conditional
report_memory( 'After Conditional Inline' ) ;
// direct pass to function
report_memory( 'After Direct Pass' ) ;
function test( ) {
}
// In Fucntion
$test = test( ) ;
report_memory( 'Use in Function' ) ;
PD9waHAKCmZ1bmN0aW9uIHJlcG9ydF9tZW1vcnkoJHN0cmluZyA9ICcnKSB7CgkkbWVtID0gKG1lbW9yeV9nZXRfdXNhZ2UoKS8xMDAwKTsKCWVjaG8gIiRzdHJpbmc6IHskbWVtfWtiXG4iOwoJcmV0dXJuICRtZW07Cn0KCiRzdGFydCA9IHJlcG9ydF9tZW1vcnkoJ1N0YXJ0IG9mIHN0cmlwdCcpOwplY2hvICJcbiI7Cgpmb3IoJGkgPSAxMDAwMDsgJGkgPiAwOyAkaS0tKSB7CgkkdmFyID0gImZpbGxlcl8kaSI7CgkkJHZhciA9ICdiYW5hbmEnOwp9CgoKJGRpZmYgPSAoJGFycmF5X3NpemUgPSByZXBvcnRfbWVtb3J5KCdBZnRlciBiYW5hbmEnKSkgLSAkc3RhcnQ7CmVjaG8gIkZpbGwgU2l6ZTogeyRkaWZmfWtiXG5cbiI7CgokdmFycyA9IGdldF9kZWZpbmVkX3ZhcnMoKTsKCiRncmV3ID0gKCRmaXJzdF9nZXQgPSByZXBvcnRfbWVtb3J5KCdBZnRlciBnZXRfZGVmaW5lZF92YXJzKCknKSkgLSAkYXJyYXlfc2l6ZTsKZWNobyAiR3Jvd3RoIGZyb20gZ2V0X2RlZmluZWRfdmFycygpOiB7JGdyZXd9a2JcblxuIjsKCiR2YXJzID0gZ2V0X2RlZmluZWRfdmFycygpOwoKJGdyZXcgPSByZXBvcnRfbWVtb3J5KCdPbmUgbW9yZSwgZm9yIGZ1bicpIC0gJGZpcnN0X2dldDsKZWNobyAiU2Vjb25kIEdldCBncmV3OiB7JGdyZXd9a2JcbiI7Cgp1bnNldCgkdmFycyk7CgpyZXBvcnRfbWVtb3J5KCdBZnRlciB1bnNldCgpJyk7CgplY2hvICJcbkVYVFJBXG4iOwoKLy8gZGlyZWN0IHBhc3MgdG8gYSBjb25kaXRpb25hbAokdGVzdCA9IChhcnJheV9rZXlfZXhpc3RzKCdmaWxsZXJfMTAwMDAwJyxnZXRfZGVmaW5lZF92YXJzKCkpICYmIGlzX251bGwoJGZpbGxlcl8xMDAwMDApKTsKCnJlcG9ydF9tZW1vcnkoJ0FmdGVyIENvbmRpdGlvbmFsIElubGluZScpOwoKLy8gZGlyZWN0IHBhc3MgdG8gZnVuY3Rpb24KJHRlc3QgPSBjb3VudChnZXRfZGVmaW5lZF92YXJzKCkpOwoKcmVwb3J0X21lbW9yeSgnQWZ0ZXIgRGlyZWN0IFBhc3MnKTsKCmZ1bmN0aW9uIHRlc3QoKSB7CgkkYWxsID0gZ2V0X2RlZmluZWRfdmFycygpOwoJcmV0dXJuICFlbXB0eSgkYWxsKTsKfQoKLy8gSW4gRnVjbnRpb24KJHRlc3QgPSB0ZXN0KCk7CgpyZXBvcnRfbWVtb3J5KCdVc2UgaW4gRnVuY3Rpb24nKTs=