From 21526ea58338cc1b6734d6df697c4a49eaafbf6e Mon Sep 17 00:00:00 2001 From: Abdellatif Ait boudad Date: Mon, 6 Apr 2015 16:49:58 +0100 Subject: [PATCH] [Translation][Profiler] reduce memory usage for collected messages. --- .../DataCollector/TranslationDataCollector.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Component/Translation/DataCollector/TranslationDataCollector.php b/src/Symfony/Component/Translation/DataCollector/TranslationDataCollector.php index 4e3f54b608..eb9d1e7333 100644 --- a/src/Symfony/Component/Translation/DataCollector/TranslationDataCollector.php +++ b/src/Symfony/Component/Translation/DataCollector/TranslationDataCollector.php @@ -95,21 +95,22 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto private function sanitizeCollectedMessages($messages) { + $result = array(); foreach ($messages as $key => $message) { - $messages[$key]['translation'] = $this->sanitizeString($message['translation']); - } - - return array_reduce($messages, function ($result, $message) { $messageId = $message['locale'].$message['domain'].$message['id']; + if (!isset($result[$messageId])) { $message['count'] = 1; + $messages[$key]['translation'] = $this->sanitizeString($message['translation']); $result[$messageId] = $message; } else { $result[$messageId]['count']++; } - return $result; - }, array()); + unset($messages[$key]); + } + + return $result; } private function computeCount($messages)