public function testGet() { $array = $this->_data; $data = new Data($this->_data); $arrobj = new \ArrayObject($this->_data); $arrobjExt = new \ArrayObjectExt($this->_data); if (Env::isHHVM()) { $data->setFlags(0); } Benchmark::compare(array('Array::clean' => function () use($array) { return $array['prop']; }, 'Array::@' => function () use($array) { return @$array['prop']; }, 'Array::isset' => function () use($array) { return isset($array['prop']) ? $array['prop'] : null; }, 'Array::array_key_exists' => function () use($array) { return array_key_exists('prop', $array) ? $array['prop'] : null; }, 'ArrayObject::array' => function () use($arrobj) { return $arrobj['prop']; }, 'ArrayObject::offsetGet' => function () use($arrobj) { return $arrobj->offsetGet('prop'); }, 'ArrayObjectExt::array' => function () use($arrobjExt) { return $arrobjExt['prop']; }, 'ArrayObjectExt::offsetGet' => function () use($arrobjExt) { return $arrobjExt->offsetGet('prop'); }, 'Data::get' => function () use($data) { return $data->get('prop'); }, 'Data::arrow' => function () use($data) { return $data->prop; }, 'Data::array' => function () use($data) { return $data['prop']; }, 'Data::find' => function () use($data) { return $data->find('prop'); }, 'Data::offsetGet' => function () use($data) { return $data->offsetGet('prop'); }), array('name' => 'Get defined var', 'count' => 10000)); }