<?php
function delta($prefix, $t1) {
printf("%s %0.6f\n", $prefix, ($t2 - $t1) * 1000); }
function genarray() {
for($i = 0; $i < 10000; $i++) {
$a[] = $i;
}
return($a);
}
function noref($a) {
for($i = 0; $i < 10000; $i++) {
}
}
function byref($a) {
for($i = 0; $i < 10000; $i++) {
}
}
$a = genarray();
noref($a);
delta("NoRef:", $t1);
byref($a);
delta("ByRef:", $t3);
PD9waHAKCmZ1bmN0aW9uIGRlbHRhKCRwcmVmaXgsICR0MSkgewogICAgICAgICR0MiA9IG1pY3JvdGltZSh0cnVlKTsKICAgICAgICBwcmludGYoIiVzICUwLjZmXG4iLCAkcHJlZml4LCAoJHQyIC0gJHQxKSAqIDEwMDApOwp9CgpmdW5jdGlvbiBnZW5hcnJheSgpIHsKICAgICAgICAkYSA9IGFycmF5KCk7CiAgICAgICAgZm9yKCRpID0gMDsgJGkgPCAxMDAwMDsgJGkrKykgewogICAgICAgICAgICAgICAgJGFbXSA9ICRpOwogICAgICAgIH0KICAgICAgICByZXR1cm4oJGEpOwp9CgpmdW5jdGlvbiBub3JlZigkYSkgewogICAgICAgIGZvcigkaSA9IDA7ICRpIDwgMTAwMDA7ICRpKyspIHsKICAgICAgICAgICAgICAgIGlzX2FycmF5KCRhKTsKICAgICAgICB9Cn0KCmZ1bmN0aW9uIGJ5cmVmKCRhKSB7CiAgICAgICAgZm9yKCRpID0gMDsgJGkgPCAxMDAwMDsgJGkrKykgewogICAgICAgICAgICAgICAgaXNfYXJyYXkoJiRhKTsKICAgICAgICB9Cn0KCiRhID0gZ2VuYXJyYXkoKTsKJHQxID0gbWljcm90aW1lKHRydWUpOwpub3JlZigkYSk7CmRlbHRhKCJOb1JlZjoiLCAkdDEpOwoKJHQzID0gbWljcm90aW1lKHRydWUpOwpieXJlZigkYSk7CmRlbHRhKCJCeVJlZjoiLCAkdDMpOw==