bug #14236 [Translation][Profiler] reduce memory usage for collected messages. (aitboudad)

This PR was merged into the 2.7 branch.

Discussion
----------

[Translation][Profiler] reduce memory usage for collected messages.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Fixed tickets  | ~
| Tests pass?   | yes
| License       | MIT

for 1000 translated messages:

![selection_025](https://cloud.githubusercontent.com/assets/1753742/7006976/7df77336-dc7d-11e4-8e35-78d3bc42d324.png)

Commits
-------

21526ea [Translation][Profiler] reduce memory usage for collected messages.
This commit is contained in:
Abdellatif Ait boudad 2015-04-06 18:43:11 +01:00
commit 874346ffeb
1 changed files with 7 additions and 6 deletions

View File

@ -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)