- simplexml_load_string: documentation ( source)
- microtime: documentation ( source)
- printf: documentation ( source)
<?php
$buffer = <<<'BUFFER'
<Mediainfo version="0.7.62">
<File>
<track type="General">
<UniqueID_String>242652904449958064145306342749155800074 (0xB68D3FDDBE0F9B3E865F70325496B40A)</UniqueID_String>
<CompleteName>D:\Encoder\videos\raw\063 - 077 (Season_02)\064 - A Pirate-Loving Town Arrival at Whiskey Peak.mkv</CompleteName>
<Format>Matroska</Format>
<Format_Version>Version 1</Format_Version>
<FileSize_String>40.0 MiB</FileSize_String>
<Duration_String>24mn 6s</Duration_String>
<OverallBitRate_String>232 Kbps</OverallBitRate_String>
<Encoded_Date>UTC 2008-08-26 15:24:58</Encoded_Date>
<Encoded_Application>mkvmerge v2.2.0 ('Turn It On Again') built on Mar 4 2008 12:58:26</Encoded_Application>
<Encoded_Library_String>libebml v0.7.7 + libmatroska v0.8.1</Encoded_Library_String>
</track>
</File>
</Mediainfo>
BUFFER;
$xml = simplexml_load_string($buffer);
$iterations = 100000;
$start = microtime(true);
for($i = $iterations; $i--;)
{
$test = $xml->xpath('/*');
}
printf("Result %.5f\n", $atime = microtime(true) - $start);
$start = microtime(true);
for($i = $iterations; $i--;)
{
$test = $xml->xpath('/Mediainfo');
}
printf("Result %.5f\n", $btime = microtime(true) - $start);