array_map против цикла и операции

Использование:

for($i=1; $i<= 10000; ++$i) {
    $arrayOfNumbers[] = rand(1, 99999);
}

Кто-нибудь может объяснить, почему существует такая разница в скорости:

array_map(array($maxHeap, 'insert'), $arrayOfNumbers);
# Avg Time: 0.92856907844543s

# against

foreach($arrayOfNumbers as $number) {
    $maxHeap->insert($number);
}
# Avg Time: 1.3148670101166

$ maxHeap будучи объектом class MaxHeap расширяет SplMaxHeap

35
задан royhowie 16 April 2015 в 23:00
поделиться