Das sieht irgendwie komisch aus aber der Logik nach muesste es so funktionieren. Die Gesamtzeit des Scriptes wäre dann aber $time7 - $time1
Ich habe die Messung mal bei mir gemacht. Das einzige was überhaupt eine Zeit erbbracht hat war das abrufen des JSon Strings von Kodi. Das hat bei mir 0.0780sek gebraucht. Alles andere geht in der Messung unter, da es so schnell geht und die Differenz immer 0 ist. Ich habe nochmal curl gegen file_get_contents getestet. curl war fast immer doppelt so schnell.
Lass bitte nochmals mein Script hier ablaufen und poste mal die Zeiten.
<?php
$time1 = microtime(true);
function GetURLAsString($input)
{
if (function_exists('curl_version'))
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $input);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($curl);
curl_close($curl);
}
else if (file_get_contents(__FILE__) && ini_get('allow_url_fopen'))
{
$content = file_get_contents($input);
}
else
{
echo 'No cURL or allow_url_fopen';
die;
}
return $content;
}
$time2 = microtime(true);
$kodi_ip = "192.168.1.70";
$kodi_port = "8080";
$kodi_user = "kodi";
$kodi_pass = "kodi";
$time3 = microtime(true);
$json = 'http://'.$kodi_user.':'.$kodi_pass.'@'.$kodi_ip.':'.$kodi_port.'/jsonrpc?request={"jsonrpc":"2.0","method":"Player.GetItem","params":{"properties":["title","fanart","thumbnail","streamdetails"],"playerid":1},"id":0}';
$time4 = microtime(true);
$json_response = GetURLAsString($json);
$time5 = microtime(true);
$data = json_decode($json_response,true);
$time6 = microtime(true);
$kodi_title = $data["result"]["item"]["label"];
$kodi_thumb = $data["result"]["item"]["thumbnail"];
$kodi_fanart = $data["result"]["item"]["fanart"];
$kodi_duration = $data["result"]["item"]["streamdetails"]["video"][0]["duration"];
echo $json."<br>";
echo $json_response."<br>";
echo print_r($data)."<br>";
echo $kodi_title."<br>";
echo $kodi_thumb."<br>";
echo $kodi_fanart."<br>";
echo $kodi_duration."<br>";
$time7 = microtime(true);
$pixsource_thumb = 'http://'.$kodi_user.':'.$kodi_pass.'@'.$kodi_ip.':'.$kodi_port.'/image/'.urlencode($kodi_thumb);
$pixsource_fanart = 'http://'.$kodi_user.':'.$kodi_pass.'@'.$kodi_ip.':'.$kodi_port.'/image/'.urlencode($kodi_fanart);
$time8 = microtime(true);
echo "<br>";
echo('<img src="'.$pixsource_thumb.'" alt="Kodi thumb">');
echo "<br>";
echo('<img src="'.$pixsource_fanart.'" alt="Kodi fanart">');
$time9 = microtime(true);
echo "<br>1 :".($time2 - $time1)."<br>";
echo "2 :".($time3 - $time2)."<br>";
echo "3 :".($time4 - $time3)."<br>";
echo "4 :".($time5 - $time4)."<br>";
echo "5 :".($time6 - $time5)."<br>";
echo "6 :".($time7 - $time6)."<br>";
echo "7 :".($time8 - $time7)."<br>";
echo "8 :".($time9 - $time8)."<br>";
echo "9 :".($time9 - $time1)."<br>";
?>
Alles anzeigen
Meine Zeiten bei dem Test sehen so aus:
1 :0
2 :0
3 :0
4 :0.015599966049194
5 :0
6 :0
7 :0
8 :0
9 :0.015599966049194
Die Gesamtlaufzeit des Scriptes sind also so um die 0.016sek. Das ist das was gemessen werden kann innerhalb von PHP.