I wonder about performance between "Create object and pass it to function"
or "Create object inside function"
- I think when create object inside function better cause after the function finished, all local var will be released. So i think 2 better than 1.
1) $a = new A();
test($a);
2) test1(){$a=new A(); ..}
But i wonder if the function called inside a loop, so the 2 case will create object each time. Maybe it loot more resource, time than 1? Here my test code but maybe it not perfect to answer that
$start_mem = memory_get_usage();
var_dump($start_mem);
$start = microtime(true);
for($i=0; $i < 10000; $i++) {
test();
}
$end = microtime(true);
$end_mem = memory_get_usage();
echo "Timne: ". ($end - $start). "\n";
var_dump($end_mem);
echo "Mem: ". ($end_mem - $start_mem). "\n";
######### test 2
// $start_mem = memory_get_usage();
// var_dump($start_mem);
// $start = microtime(true);
// $obj = new PingSitemap();
// for($i=0; $i <10000; $i++) {
// test1($obj);
// }
// $end = microtime(true);
// $end_mem = memory_get_usage();
// echo "Timne: ". ($end - $start). "\n";
// var_dump($end_mem);
// echo "Mem: ". ($end_mem - $start_mem). "\n";
function test() {
$obj = new PingSitemap();
for($i=0; $i < 1000; $i++) {
$obj->counta();
}
}
function test1($obj) {
for($i=0; $i < 1000; $i++) {
$obj->counta();
}
}