Skip to content

Instantly share code, notes, and snippets.

@lomadurov
Created September 25, 2014 14:12
Show Gist options
  • Save lomadurov/cb0af9fb353375da59ec to your computer and use it in GitHub Desktop.
Save lomadurov/cb0af9fb353375da59ec to your computer and use it in GitHub Desktop.
<?
print '________ first'.PHP_EOL;
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
$array[] = $i;
}
print '$arr[]: '.round(microtime(true) - $t, 5);
print PHP_EOL;
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
array_push($array, $i);
}
print 'array_push($arr): '.round(microtime(true) - $t, 5);
print PHP_EOL;
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
array_unshift($array, $i);
}
print 'array_unshift($arr): '.round(microtime(true) - $t, 5);
print PHP_EOL;
print PHP_EOL.'________ second'.PHP_EOL;
$arrayA = array();
for($i = 0; $i < 10000; $i++) {
$arrayA[] = $i;
}
$arrayB = array();
for($i = 0; $i < 10000; $i++) {
$arrayB[] = $i;
}
$t = microtime(true);
$arr = array_merge($arrayA, $arrayB);
print 'array_merge($a, $arr): '.round(microtime(true) - $t, 5);
print PHP_EOL;
$arrayA = array();
for($i = 0; $i < 10000; $i++) {
$arrayA[] = $i;
}
$arrayB = array();
for($i = 0; $i < 10000; $i++) {
$arrayB[] = $i;
}
$t = microtime(true);
foreach ($arrayB as $row) {
$arrayA[] = $row;
}
print 'foreach ($arr as $row) {$a[] = $row}: '.round(microtime(true) - $t, 5);
print PHP_EOL;
print PHP_EOL.'________ three'.PHP_EOL;
$arrayA = array();
for($i = 0; $i < 10000; $i++) {
$arrayA[] = $i;
}
$arrayB = array();
for($i = 0; $i < 10000; $i++) {
$arrayB[] = $i;
}
foreach ($arrayB as $row) {
$arrayA[] = $row;
}
$t = microtime(true);
$arr = array_slice($arrayA, 0, 2000);
print 'array_slice($a, 0, 2000): '.round(microtime(true) - $t, 5);
print PHP_EOL;
$arrayA = array();
for($i = 0; $i < 10000; $i++) {
$arrayA[] = $i;
}
$arrayB = array();
for($i = 0; $i < 10000; $i++) {
$arrayB[] = $i;
}
foreach ($arrayB as $row) {
$arrayA[] = $row;
}
$t = microtime(true);
$arr = array_slice($array, -2000);
print 'array_slice($a, -2000): '.round(microtime(true) - $t, 5);
print PHP_EOL;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment