[SabreAMF] Improvement of SabreAMF_AMF3_Serializer::writeInt
Develar
develar at gmail.com
Mon Mar 12 19:38:51 EST 2007
1000 iterations, 0.018 vs 0.0827
public function writeInt($int)
{
$bytes = array();
if (($int & 0xff000000) == 0)
{
for ($i = 3; $i > -1; $i--)
{
$bytes[] = ($int >> (7 * $i)) & 0x7F;
}
}
else
{
for ($i = 2; $i > -1; $i--)
{
$bytes[] = ($int >> (8 + 7 * $i)) & 0x7F;
}
$bytes[] = $int & 0xFF;
}
for ($i = 0; $i < 3; $i++)
{
if ($bytes[$i] == 0)
{
unset($bytes[$i]);
}
else
{
$this->stream->writeByte($bytes[$i] | 0x80);
}
}
$this->stream->writeByte($bytes[3]);
}
More information about the sabreamf
mailing list