PHP performante Array Operationen mit SplFixedArray


Seit PHP 5.3. gibt es Arrays mit fixer Länge names SplFixedArray (wie in Java und anderen Sprachen), die performanter oder gleich performant sind in den meisten Operationen wie

  • lesen
  • einfügen
  • auslesen

Details zu den Performance Vorteilen inklusive Tests gibt es auf diesem Blog.

Im folgendes Beispiel habe ich die neue Datenstruktur benutzt und bin zu enormen Performancegewinnen gekommen:

function  activeRecordAttributeToArrayFastMemory($objects, $attributeName)
{
    $size = count($objects);
        $array = new SplFixedArray($size);
        for($i = 0; $i < $size; $i++)
        {
            $array[$i] = $objects[$i]->$attributeName;
        }
    $returnArray = $array->toArray();
    return $returnArray;
}

Hinterlasse eine Antwort

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>