tecCHANNEL Benchmark Suite Pro

tecBench-Funktionsweise

Die zwei Teilprogramme von tecBench - tecHD und tecCD/DVD - öffnen das zu testende Drive mit CreateFile() unter Nutzung des Flags FILE_FLAG_NO_BUFFERING. Die Benchmarks betrachten dafür die Gesamtkapazität des Laufwerks für die Messung der Transferrate als 100 aufeinander folgende Abschnitte identischer Größe. Ausgehend vom Beginn eines Abschnitts lesen oder schreiben tecHD und tecCD einen Datenblock von 64 beziehungsweise 3 MByte und fahren dann mit dem nächsten Abschnitt fort. Die Positionierung am Beginn eines Abschnitts erfolgt mittels Set FilePointer(), das Lesen und Schreiben der Datenblöcke mit ReadFile() bzw. WriteFile(). tecHD und tecCD zerlegen den Transferprozess in eine entsprechende Anzahl von ReadFile()- oder WriteFile()-Aufrufen mit einer Länge von jeweils 1 MByte. Pro Abschnitt erfolgen damit im Falle von tecHD 64 derartige Aufrufe, im Falle von tecCD sind es drei Aufrufe.

Um Zugriffszeiten zu ermitteln, lesen tecHD und tecCD pseudo-zufällig ausgewählte Sektoren mit SetFilePointer() und ReadFile() ein. Neben der Positionierungszeit des Schreib-/Lesekopfs messen die Benchmarks die Latenzzeit zwischen der Positionierung des Kopfes und dem eigentlichen Lesen des Sektors. tecHD liest 1000 unterschiedliche Sektoren, tecCD beschränkt sich wegen höherer Zugriffszeiten auf nur 200 Sektoren. Die Burstrate wird durch wiederholtes Lesen derselben Sektoren gemessen. tecHD liest dazu denselben 64-KByte-Block über 1000 Iterationen hinweg. tecCD/DVD führt keine Burstmessungen durch.