definition['field_name'] = $name; return $this; } public function setRequired($required) { $this->definition['required'] = $required; return $this; } public function setTranslatable($translatable) { $this->definition['translatable'] = $translatable; return $this; } public function setSettings($settings) { $this->definition['settings'] = $settings; return $this; } public function setqueryable($queryable) { $this->definition['queryable'] = $queryable; return $this; } public function setType($type) { $this->definition['type'] = $type; return $this; } } $iterations = 100000; $start = microtime(TRUE); for ($i = 0; $i < $iterations; $i++) { $definition = new Test(); $definition->setFieldName('field_name') ->setRequired(TRUE) ->setTranslatable(FALSE) ->setSettings(array()) ->setqueryable(TRUE) ->setType('integer'); $store = serialize($definition); $back = unserialize($store); } $stop = microtime(TRUE); $time = $stop - $start; echo $time ."ms for $iterations runs. \n"; echo ($time / $iterations) ."ms per run. \n"; echo memory_get_usage() . "bytes used. \n"; echo memory_get_peak_usage(TRUE) . "byted peaked. \n";