@ 2013-03-15T19:58:34Z <?php
class ValueEncoder
{
public function encode($value)
{
$result = urlencode($value);
return $result;
}
}
class ValueDecoder
{
public function decode($value)
{
$result = urldecode($value);
return $result;
}
}
class RefEncoder
{
public function encode(&$value)
{
$value = urlencode($value);
}
}
class RefDecoder
{
public function decode(&$value)
{
$value = urldecode($value);
}
}
function genData()
{
return str_repeat('test', 2000000);
}
function valueTranscode() {
$data = genData();
$encoder = new ValueEncoder();
$decoder = new ValueDecoder();
$data = $encoder->encode($data);
$data = $decoder->decode($data);
$data = strlen($data);
}
function refTranscode() {
$data = genData();
$encoder = new RefEncoder();
$decoder = new RefDecoder();
$encoder->encode($data);
$decoder->decode($data);
$data = strlen($data);
}
$isRef = isset($argv[1]) && 'ref' === $argv[1];
echo ($isRef ? 'Ref: ' : 'Value: ');
$s = microtime(true);
for ($i = 0; $i < 20; ++$i)
{
if ($isRef)
{
refTranscode();
}
else
{
valueTranscode();
}
}
$d = microtime(true) - $s;
echo number_format($d, 2) . ' s, ';
#echo number_format(memory_get_peak_usage(true)/1000/1000,2) . ' MB'. PHP_EOL;
echo (!$isRef ? 'Ref: ' : 'Value: ');
$s = microtime(true);
for ($i = 0; $i < 20; ++$i)
{
if (!$isRef)
{
refTranscode();
}
else
{
valueTranscode();
}
}
$d = microtime(true) - $s;
echo number_format($d, 2) . ' s, ';
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.3.1 Value: 0.88 s, Ref: 0.73 s, Output for 7.3.0 Value: 0.85 s, Ref: 1.08 s, Output for 7.2.13 Value: 0.88 s, Ref: 0.89 s, Output for 7.2.12 Value: 0.94 s, Ref: 0.87 s, Output for 7.2.11 Value: 0.91 s, Ref: Process exited with code 137 . Output for 7.2.10 Value: 1.11 s, Ref: 0.86 s, Output for 7.2.3 , 7.2.9 Value: Process exited with code 137 . Output for 7.2.8 Value: 1.27 s, Ref: Process exited with code 137 . Output for 7.2.7 Value: 0.80 s, Ref: Process exited with code 137 . Output for 7.2.6 Value: 0.86 s, Ref: Process exited with code 137 . Output for 7.2.5 Process exited with code 137 . Output for 7.2.4 Value: 1.50 s, Ref: Process exited with code 137 . Output for 7.2.2 Value: 0.99 s, Ref: Process exited with code 137 . Output for 7.2.1 Value: 0.87 s, Ref: Process exited with code 137 . Output for 7.2.0 Value: 0.83 s, Ref: 0.75 s, Output for 7.1.25 Value: 0.82 s, Ref: 0.76 s, Output for 7.1.7 Value: 0.62 s, Ref: 0.58 s, Output for 7.1.6 Value: 0.59 s, Ref: 0.52 s, Output for 7.1.5 Value: 0.56 s, Ref: 0.50 s, Output for 7.1.0 Value: 0.59 s, Ref: 0.53 s, Output for 7.0.20 Value: 1.41 s, Ref: Process exited with code 137 . Output for 7.0.14 Value: 0.58 s, Ref: 0.53 s, Output for 7.0.10 Value: 1.20 s, Ref: 0.85 s, Output for 7.0.9 Value: 0.86 s, Ref: 1.19 s, Output for 7.0.8 Value: 1.07 s, Ref: 0.96 s, Output for 7.0.7 Value: 1.00 s, Ref: 0.87 s, Output for 7.0.6 Value: 1.09 s, Ref: 0.88 s, Output for 7.0.5 Value: 1.48 s, Ref: Process exited with code 137 . Output for 7.0.4 Value: 1.07 s, Ref: 1.07 s, Output for 7.0.3 Value: 1.53 s, Ref: Process exited with code 137 . Output for 7.0.2 Value: 1.29 s, Ref: 0.75 s, Output for 7.0.1 Value: 0.86 s, Ref: 0.91 s, Output for 7.0.0 Value: 0.90 s, Ref: 0.87 s, Output for 5.4.6 , 5.6.25 Value: 0.46 s, Ref: 0.51 s, Output for 5.6.24 Value: 0.45 s, Ref: 0.44 s, Output for 5.4.1 , 5.5.32 , 5.6.23 Value: 0.44 s, Ref: 0.43 s, Output for 5.6.3 , 5.6.22 Value: 0.46 s, Ref: 0.49 s, Output for 5.6.6 , 5.6.16 , 5.6.21 Value: 0.46 s, Ref: 0.47 s, Output for 5.4.7 , 5.4.44 , 5.5.3 , 5.5.5 , 5.5.9 , 5.6.20 Value: 0.49 s, Ref: 0.50 s, Output for 5.4.4 , 5.4.21 , 5.6.17 , 5.6.19 Value: 0.46 s, Ref: 0.45 s, Output for 5.4.32 , 5.4.41 , 5.5.0 , 5.5.28 , 5.6.11 , 5.6.18 Value: 0.47 s, Ref: 0.48 s, Output for 5.2.6 , 5.4.27 , 5.5.30 , 5.6.14 - 5.6.15 Value: 0.38 s, Ref: 0.43 s, Output for 5.0.0 , 5.4.39 - 5.4.40 , 5.4.43 , 5.6.10 , 5.6.13 Value: 0.47 s, Ref: 0.47 s, Output for 5.5.16 , 5.6.12 Value: 0.45 s, Ref: 0.51 s, Output for 5.6.9 Value: 0.44 s, Ref: 0.51 s, Output for 5.4.23 , 5.4.31 , 5.5.18 , 5.6.8 Value: 0.46 s, Ref: 0.52 s, Output for 5.5.2 , 5.5.14 , 5.5.25 - 5.5.26 , 5.6.4 , 5.6.7 Value: 0.47 s, Ref: 0.49 s, Output for 5.6.5 Value: 0.48 s, Ref: 0.42 s, Output for 5.6.2 Value: 0.48 s, Ref: 0.57 s, Output for 5.4.8 , 5.4.45 , 5.5.29 , 5.6.1 Value: 0.47 s, Ref: 0.50 s, Output for 5.4.9 , 5.4.22 , 5.4.24 , 5.4.30 , 5.4.42 , 5.6.0 Value: 0.48 s, Ref: 0.49 s, Output for 5.4.28 , 5.5.4 , 5.5.38 Value: 0.47 s, Ref: 0.52 s, Output for 5.5.37 Value: 0.52 s, Ref: 0.52 s, Output for 5.2.1 , 5.4.29 , 5.5.1 , 5.5.36 Value: 0.45 s, Ref: 0.43 s, Output for 5.4.2 , 5.5.11 - 5.5.12 , 5.5.35 Value: 0.43 s, Ref: 0.43 s, Output for 5.4.19 , 5.5.19 , 5.5.34 Value: 0.49 s, Ref: 0.51 s, Output for 5.4.11 , 5.4.20 , 5.4.34 , 5.5.27 , 5.5.33 Value: 0.48 s, Ref: 0.50 s, Output for 5.4.13 , 5.4.15 , 5.5.31 Value: 0.46 s, Ref: 0.48 s, Output for 5.4.12 , 5.4.16 , 5.4.18 , 5.5.24 Value: 0.46 s, Ref: 0.46 s, Output for 5.5.23 Value: 0.45 s, Ref: 0.42 s, Output for 5.5.22 Value: 0.52 s, Ref: 0.48 s, Output for 5.5.7 , 5.5.21 Value: 0.47 s, Ref: 0.46 s, Output for 5.4.37 , 5.5.20 Value: 0.50 s, Ref: 0.51 s, Output for 5.4.36 , 5.4.38 , 5.5.15 Value: 0.48 s, Ref: 0.48 s, Output for 5.5.10 , 5.5.13 Value: 0.41 s, Ref: 0.43 s, Output for 5.5.8 Value: 0.45 s, Ref: 0.52 s, Output for 5.3.23 , 5.3.27 , 5.5.6 Value: 0.40 s, Ref: 0.43 s, Output for 5.4.35 Value: 0.49 s, Ref: 0.48 s, Output for 5.4.26 Value: 0.40 s, Ref: 0.42 s, Output for 5.4.25 Value: 0.48 s, Ref: 0.52 s, Output for 5.4.17 Value: 0.49 s, Ref: 0.52 s, Output for 5.4.14 Value: 0.49 s, Ref: 0.49 s, Output for 5.4.10 Value: 0.46 s, Ref: 0.44 s, Output for 5.4.5 Value: 0.51 s, Ref: 0.52 s, Output for 5.0.5 , 5.4.3 Value: 0.41 s, Ref: 0.42 s, Output for 5.4.0 Value: 0.45 s, Ref: 0.41 s, Output for 5.3.29 Value: 0.43 s, Ref: 0.42 s, Output for 5.1.1 - 5.1.2 , 5.2.5 , 5.2.7 , 5.2.9 , 5.2.11 , 5.3.2 , 5.3.28 Value: 0.39 s, Ref: 0.41 s, Output for 5.3.20 , 5.3.24 , 5.3.26 Value: 0.39 s, Ref: 0.43 s, Output for 5.3.25 Value: 0.38 s, Ref: 0.36 s, Output for 5.3.22 Value: 0.44 s, Ref: 0.46 s, Output for 5.2.3 , 5.2.13 , 5.3.15 , 5.3.21 Value: 0.37 s, Ref: 0.40 s, Output for 5.1.3 , 5.3.3 , 5.3.13 , 5.3.18 - 5.3.19 Value: 0.37 s, Ref: 0.41 s, Output for 5.3.17 Value: 0.52 s, Ref: 0.51 s, Output for 5.1.6 , 5.3.10 - 5.3.11 , 5.3.16 Value: 0.40 s, Ref: 0.41 s, Output for 5.3.14 Value: 0.57 s, Ref: 0.53 s, Output for 5.2.14 , 5.3.12 Value: 0.39 s, Ref: 0.42 s, Output for 5.2.2 , 5.3.9 Value: 0.30 s, Ref: 0.35 s, Output for 5.3.8 Value: 0.36 s, Ref: 0.43 s, Output for 5.2.4 , 5.3.7 Value: 0.33 s, Ref: 0.35 s, Output for 5.0.2 , 5.0.4 , 5.2.16 - 5.2.17 , 5.3.0 , 5.3.5 - 5.3.6 Value: 0.38 s, Ref: 0.41 s, Output for 5.3.4 Value: 0.30 s, Ref: 0.36 s, Output for 5.3.1 Value: 0.39 s, Ref: 0.44 s, Output for 5.2.15 Value: 0.41 s, Ref: 0.44 s, Output for 5.2.12 Value: 0.37 s, Ref: 0.38 s, Output for 5.2.10 Value: 0.34 s, Ref: 0.35 s, Output for 5.1.4 , 5.2.8 Value: 0.38 s, Ref: 0.42 s, Output for 5.2.0 Value: 0.37 s, Ref: 0.42 s, Output for 5.1.5 Value: 0.36 s, Ref: 0.42 s, Output for 5.1.0 Value: 0.36 s, Ref: 0.41 s, Output for 5.0.3 Value: 0.47 s, Ref: 0.51 s, Output for 5.0.1 Value: 0.37 s, Ref: 0.39 s, Output for 4.4.2 - 4.4.9 Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/fqH68 on line 5
Process exited with code 255 . Output for 4.3.0 - 4.3.1 , 4.3.5 - 4.3.11 , 4.4.0 - 4.4.1 Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/fqH68 on line 5
Process exited with code 255 . Output for 4.3.2 - 4.3.4 Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/fqH68 on line 5
Process exited with code 255 . preferences:dark mode live preview
203.47 ms | 401 KiB | 231 Q