note 102747 added to class.arrayobject

[email protected]
Newsgroups php.notes
Message-ID <[email protected]>
I don't believe the same performance is true since PHP 5.3. Using the same fill, read_key and foreach approach on both native arrays and ArrayObjects with 10000 keys I get the following

PHP 5.2

array() fill         0.013101
array() read         0.008685
array() foreach      0.004319
ArrayObject fill     0.014136
ArrayObject read     0.010003
ArrayObject foreach  3.454612

PHP 5.3

array() fill         0.010395
array() read         0.005933
array() foreach      0.001903
ArrayObject fill     0.010598
ArrayObject read     0.006387
ArrayObject foreach  0.003451

This was the code I used for both, an array or ArrayObject is passed into each of the functions. Again PEAR::Benchmark was used to get the results.

<?php
require_once 'Benchmark/Timer.php';

define('KEYS', 10000);

function fill(&$arr) {
    for ($i = 1; $i <= KEYS; $i++) {
        $arr['key-' . $i] = $i;
    }
}

function read_key(&$arr) {
    for ($i = 1; $i <= KEYS; $i++) {
        $v = $arr['key-' . $i];
    }
}

function fe(&$arr) {
    foreach ($arr as $key => $value) {
        $v = $value;
    }
}
?>
----
Server IP: 87.124.126.137
Probable Submitter: 193.36.79.206
----
Manual Page -- http://www.php.net/manual/en/class.arrayobject.php
Edit        -- https://master.php.net/note/edit/102747
Del: integrated  -- https://master.php.net/note/delete/102747/integrated
Del: useless     -- https://master.php.net/note/delete/102747/useless
Del: bad code    -- https://master.php.net/note/delete/102747/bad+code
Del: spam        -- https://master.php.net/note/delete/102747/spam
Del: non-english -- https://master.php.net/note/delete/102747/non-english
Del: in docs     -- https://master.php.net/note/delete/102747/in+docs
Del: other reasons-- https://master.php.net/note/delete/102747
Reject      -- https://master.php.net/note/reject/102747
Search      -- https://master.php.net/manage/user-notes.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.