HipHop PHP - проблемы со строкой concat - PullRequest
2 голосов
/ 27 декабря 2011

У меня серьезные проблемы с конкатенацией строк в скомпилированных PHP-скриптах HipHop-> C ++.

Мои сценарии сильно зависят от конкатенации строк, он выполняется за 0,6 секунды с PHP и 60 секунд скомпилирован с HipHop. Это почти 10000% разница!

Кажется, что проблема с динамическим распределением памяти, согласно этой статье :

Они подтверждают наши подозрения. Компиляция исходного кода приносит большую сторону эффект известен из других скомпилированных языков, таких как C, C ++ или C #: медленные строковые операции и необходимость в функциональности StringBuilder!.

Скомпилированные HipHop скрипты значительно быстрее во всех других областях, обеспечивая скорость и улучшение памяти примерно на 50%, что является важным для моего проекта.

У меня вопрос: какой прием можно использовать (в коде PHP), чтобы заставить скомпилированные PHP-скрипты HipHop предварительно выделять необходимую память или что-то еще, чтобы остановить это неясное динамическое распределение памяти, которое вызывает интенсивное замедление. Или есть другой хитрый способ объединения строк, или какая-то реализация строителя строк?

Ответы [ 2 ]

0 голосов
/ 16 мая 2013

HPHPc устарела.Попробуйте использовать HHVM https://github.com/facebook/hiphop-php

0 голосов
/ 27 декабря 2011

Не могли бы вы привести пример того, как вы на самом деле выполняете конкатенацию, как видно из этого поста, могут быть сделаны некоторые простые улучшения.

Оптимизация конкатенации строк PHP

...