У меня серьезные проблемы с конкатенацией строк в скомпилированных PHP-скриптах HipHop-> C ++.
Мои сценарии сильно зависят от конкатенации строк, он выполняется за 0,6 секунды с PHP и 60 секунд скомпилирован с HipHop. Это почти 10000% разница!
Кажется, что проблема с динамическим распределением памяти, согласно этой статье :
Они подтверждают наши подозрения. Компиляция исходного кода приносит большую сторону
эффект известен из других скомпилированных языков, таких как C, C ++ или C #:
медленные строковые операции и необходимость в функциональности StringBuilder!.
Скомпилированные HipHop скрипты значительно быстрее во всех других областях, обеспечивая скорость и улучшение памяти примерно на 50%, что является важным для моего проекта.
У меня вопрос: какой прием можно использовать (в коде PHP), чтобы заставить скомпилированные PHP-скрипты HipHop предварительно выделять необходимую память или что-то еще, чтобы остановить это неясное динамическое распределение памяти, которое вызывает интенсивное замедление. Или есть другой хитрый способ объединения строк, или какая-то реализация строителя строк?