Core Mark

CoreMark este un set de repere  sintetice pentru măsurarea vitezei procesorului în sistemele încorporate . Creat în 2009 de Shay Gal-On de la EEMBC , ca înlocuitor pentru anticul standard Dhrystone din 1984 . Codul de testare este scris în limbajul de programare C și conține implementări ale unor astfel de algoritmi: procesarea listelor legate (căutare și sortare ), procesare matrice (mai multe operații matrice), mașină de stări (determinând că fluxul de caractere de intrare conține numere reale în notație zecimală) , calculând suma CRC .

Sarcini CoreMark

Algoritmul CRC din benchmark este folosit în două scopuri: este destul de tipic pentru aplicațiile de pe computere încorporate, dar este folosit și pentru a confirma funcționarea corectă a tuturor testelor pachetului CoreMark. În special, pentru a verifica rezultatul sortării, se calculează o sumă CRC de 16 biți din toate datele din lista legată.

Pentru a evita precalcularea rezultatelor testelor în timpul compilării optimizării, fiecare test din benchmark utilizează o valoare care nu este disponibilă la momentul compilării. De asemenea, tot codul, al cărui timp de execuție este măsurat, este furnizat complet de autorii benchmark-ului (nu conține niciun apel către bibliotecile de sistem).

Comparație între CoreMark și moștenirea Dhrystone

CoreMark se bazează pe principiile care au inspirat Dhrystone tradițional: testul este mic, portabil, ușor de înțeles, gratuit de utilizat și oferă un singur număr care descrie performanța. Cu toate acestea, spre deosebire de Dhrystone, testele CoreMark au reguli pentru lansarea și publicarea rezultatelor, iar autorii CoreMark au reușit să evite o serie de probleme binecunoscute asociate cu Dhrystone .

Porțiuni mari ale testului Dhrystone pot fi optimizate de compilatoare moderne, ceea ce face ca acest test să fie mai puțin un test de performanță hardware. De asemenea, a făcut dificilă compararea între diferiți compilatori sau între ansambluri cu diferite steaguri de compilare.

În zona măsurată a Dhrystone, se fac apeluri la bibliotecă și, de obicei, codul bibliotecii ocupă cea mai mare parte a timpului benchmark-ului. Deoarece bibliotecile nu fac parte din benchmark, devine mai dificilă compararea rezultatelor între diferite sisteme și implementări ale bibliotecilor.

Există câteva recomandări pentru rularea Dhrystone, dar deoarece rezultatele testelor nu au fost certificate sau verificate, aceste recomandări nu au fost întotdeauna respectate. Nu a existat un standard pentru publicarea rezultatelor Dhrystone și au fost utilizate diverse valori derivate: DMIPS, „Dhrystones per second”, DMIPS/MHz.

Postarea rezultatelor CoreMark

O listă a rezultatelor CoreMark este menținută pe site-ul web al proiectului CoreMark Arhivat 12 septembrie 2017 la Wayback Machine (EEMBC). Rezultatele au următorul format:

CoreMark 1.0: N/C/P/M

De exemplu:

CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofile-use / Heap in TCRAM / FORK:2

Vezi și

Literatură

Link -uri