<?php
function report_memory( $string = '' ) {
echo "$string : {$mem} kb\n " ;
return $mem ;
}
$start = report_memory( 'Start of stript' ) ;
echo "\n " ;
$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' ) ;
PD9waHAKCmZ1bmN0aW9uIHJlcG9ydF9tZW1vcnkoJHN0cmluZyA9ICcnKSB7CgkkbWVtID0gKG1lbW9yeV9nZXRfdXNhZ2UoKS8xMDAwKTsKCWVjaG8gIiRzdHJpbmc6IHskbWVtfWtiXG4iOwoJcmV0dXJuICRtZW07Cn0KCiRzdGFydCA9IHJlcG9ydF9tZW1vcnkoJ1N0YXJ0IG9mIHN0cmlwdCcpOwplY2hvICJcbiI7CgokYXJyYXkgPSBhcnJheV9maWxsKDAsMTAwMDAsICdiYW5hbmEnKTsKCgokZGlmZiA9ICgkYXJyYXlfc2l6ZSA9IHJlcG9ydF9tZW1vcnkoJ0FmdGVyIGJhbmFuYScpKSAtICRzdGFydDsKZWNobyAiRmlsbCBTaXplOiB7JGRpZmZ9a2JcblxuIjsKCiR2YXJzID0gZ2V0X2RlZmluZWRfdmFycygpOwoKJGdyZXcgPSAoJGZpcnN0X2dldCA9IHJlcG9ydF9tZW1vcnkoJ0FmdGVyIGdldF9kZWZpbmVkX3ZhcnMoKScpKSAtICRhcnJheV9zaXplOwplY2hvICJHcm93dGggZnJvbSBnZXRfZGVmaW5lZF92YXJzKCk6IHskZ3Jld31rYlxuXG4iOwoKJHZhcnMgPSBnZXRfZGVmaW5lZF92YXJzKCk7CgokZ3JldyA9IHJlcG9ydF9tZW1vcnkoJ09uZSBtb3JlLCBmb3IgZnVuJykgLSAkZmlyc3RfZ2V0OwplY2hvICJTZWNvbmQgR2V0IGdyZXc6IHskZ3Jld31rYlxuIjsKCnVuc2V0KCR2YXJzKTsKCnJlcG9ydF9tZW1vcnkoJ0FmdGVyIHVuc2V0KCknKTsKCmVjaG8gIlxuRVhUUkFcbiI7CgovLyBkaXJlY3QgcGFzcyB0byBhIGNvbmRpdGlvbmFsCiR0ZXN0ID0gKGFycmF5X2tleV9leGlzdHMoJ2ZpbGxlcl8xMDAwMDAnLGdldF9kZWZpbmVkX3ZhcnMoKSkgJiYgaXNfbnVsbCgkZmlsbGVyXzEwMDAwMCkpOwoKcmVwb3J0X21lbW9yeSgnQWZ0ZXIgQ29uZGl0aW9uYWwgSW5saW5lJyk7CgovLyBkaXJlY3QgcGFzcyB0byBmdW5jdGlvbgokdGVzdCA9IGNvdW50KGdldF9kZWZpbmVkX3ZhcnMoKSk7CgpyZXBvcnRfbWVtb3J5KCdBZnRlciBEaXJlY3QgUGFzcycpOwoKZnVuY3Rpb24gdGVzdCgpIHsKCSRhbGwgPSBnZXRfZGVmaW5lZF92YXJzKCk7CglyZXR1cm4gIWVtcHR5KCRhbGwpOwp9CgovLyBJbiBGdWNudGlvbgokdGVzdCA9IHRlc3QoKTsKCnJlcG9ydF9tZW1vcnkoJ1VzZSBpbiBGdW5jdGlvbicpOw==