Bryne

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 27 november 2020; kontroller kräver 3 redigeringar .

Whetstone  är ett syntetiskt riktmärke för datorer. [1] Ursprungligen skrivet i november 1972 i programmeringsspråket Algol 60 vid National Physical Laboratory i Storbritannien baserat på programbeteendestatistik erhållen på KDF9 -datorn med en modifierad Whetstone Algol 60-kompilator. Programbeteendestatistik återspeglar typiska vetenskapliga problem lösta av KDF9 . Whetstone-kompilatorn byggdes av Atomic Power-avdelningen av English Electric i Whetstone , Leicestershire , [2] varefter den har fått sitt namn. Den senaste KDF9-datorn stängdes av 1980, men det är möjligt att köra originaltestet på en emulator.

Fortran-versionen av riktmärket (FOPR12 och FOPR13) var det första allmänt använda riktmärket. Det utvecklades av Harold Curnow från HM Treasury Technical Support Unit (TSU - senare del av Central Computer and Telecommunications Agency - CCTA ). Denna version utvecklades vidare av Roy Longbottom, även han från TSU/CCTA.

Whetstone-riktmärket mätte ursprungligen prestanda i enheter av kilo-Whetstone-instruktioner per sekund (kWIPS, tusentals Whetstone-instruktioner per sekund). Senare blev MWIPS standardenheten - miljontals sådana instruktioner per sekund. Historiska resultat för olika minidatorer , stordatorer och superdatorer publiceras på webbplatsen Whetstone Benchmark History and Results . Tillverkningsår för systemen och deras kostnad anges också. Som jämförelse ges flera resultat som erhållits på persondatorer: Detaljerade resultat på datorer .

Det finns PC-källkodsversioner i C / C++ , Basic , Visual Basic , Fortran , Java , publicerade på Roy Longbottom PC Benchmark Collection- webbplatsen . Sammanställda program för DOS , OS/2 , Windows har också utarbetats .

Whetstone mäter i första hand prestandan för aritmetik med flyttal. Ett liknande riktmärke för heltals- och strängoperationer är Dhrystone .

Struktur

Testet är väldigt enkelt och består av endast 150 satser med 8 aktiva loopar, varav tre körs i subrutiner. Utförandet av flyttalsräkning, funktionsanrop, uppdrag, arbete med fasta tal, grenar testas. Den mest komplexa slingan, som körs 30 till 50 % av tiden, gör flyttalsberäkningar och ett subrutinsamtal.

En mycket liten mängd data används, vilket passar helt och hållet in i L1-cachen hos de flesta processorer. Således påverkar inte hastigheten för den andra nivåns cache och minne den resulterande prestandan. Testresultatet är proportionellt mot processorfrekvensen.

Koden var designad på ett sådant sätt att kompilatorer inte kunde optimera den. Det togs dock inte med i beräkningen att kompilatorer kan infoga funktioner vid anropspunkten (inline-optimering). Med användning av moderna kompilatorer fördubblas hastigheten för testkörning ungefär på grund av inline, instruktionsval och borttagning av mellanliggande överföringar genom minnet.

Se även

Anteckningar

  1. Curnow, HJ och Wichman, B.A. " A Synthetic Benchmark Arkiverad 3 mars 2013. ”, Computer Journal , volym 19, nummer 1, februari 1976., sid. 43-49.
  2. Randell, B. och Russell, LJ " Algol 60 Implementation Archived October 1, 2011 at the Wayback Machine ", London: Academic Press, 1964. ISBN 0-12-578150-4 .

Länkar