Добрый день!
С API сервера приходит документ в виде закодированной строки. Строка имеет некоторое количество групп цифр по 3 штуки, соответствующим 1 байту. Эту глупость никто менять не будет.
Имеющийся код на локальной машине с i5 3 поколения и включенным XDebug работает ЖЕСТЬ как медленно. Декодирует документ примерно за 5-6 минут (!!!).
public function DecodePolicy($Value)
{
$length = strlen( $Value );
$triple_char = '';
$triple_char_length = 0;
$buffer = '';
for ($i = 0; $i < $length; $i++)
{
if ( $triple_char_length == 3 )
{
$byte = intval( $triple_char );
$buffer = $buffer . chr( $byte );
$triple_char = '';
$triple_char_length = 0;
}
$char = $Value[$i];
$triple_char = $triple_char . $char;
$triple_char_length++;
}
return $buffer;
}
Как это дело можно оптимизировать? И можно ли оптимизировать вообще?