Details
Description
In Zend_Form_Element_Multi, the _translateOption/_translateValue take far too long to process on large lists.
Calling addElement() drastically improved when I changed nothing in the code but commenting out the if (!$this->_translateOption($option, $value)) in Zend/Form/Element/Multi.php: public function addMultiOption($option, $value = '')
As a test try making a form and calling:
$form->addElement('select', 'timezone', array('label' => 'Timezone', 'value' => $timezone, 'multiOptions' => timezone_identifiers_list(), 'description' => 'Pick your timezone.'));
When I benchmarked directly around this call and nothing else using microtime() _translate made the load time about 8 seconds and with it commented the load time was about .5 seconds.
Have you set a cache for your translations ?
Have you tried this several times ?
I expect that your 8 seconds come from loading the translation data in memory from disk.