Datorprestanda

Datorprestanda är ett mått på hur väl en dator utför sin uppgift; hur effektiv den är, mätt i mängd arbete i förhållande till mängden tid eller andra resurser som krävs. Detta kan beroende på sammanhang inkludera en eller flera saker:

  • kort responstid för en viss arbetsuppgift
  • hög kapacitet
  • snål resurshantering
  • hög tillgänglighet
  • snabb datakompression
  • stor bandbredd / liten tid för dataöverföringar
  • skalbarhet, hur väl datorn klarar en ökning av mängden arbetsuppgifter

Prestandamätning

För att mäta en dators prestanda finns olika datorprogram som utför prestandamätningar (även kallat benchmark) på bland annat CPU[1] och grafikkort.

Standard Performance Evaluation Corporation (SPEC) tillhandahåller flera prestandamätningsprogram, bland annat för beräkning av instruktionshastighet och energieffektivitet.[2]

Tidseffektivitet

Antalet instruktioner per sekund (IPS) är ett mått som oftast mäts i miljontal (MIPS). Måttet är inte helt entydigt eftersom olika instruktioner tar olika lång tid. Därför använder man testprogram med ett standardiserat test som kan jämföra olika processorers hastighet relativt varandra. Man skiljer vanligen på test med flyttalsoperationer (FLOPS) och med blandade typer av instruktioner (MIPS).

Instruktionshastigheten är inte ensam om att bestämma prestandan hos en processor, se megahertzmyten.

Nedan följer några exempel på olika processorers instruktionshastighet:

Processor Instruktioner / sekund Instruktioner / klockcykel År Källa
Penna och papper (jämförelse) 0000000  0,0119 IPS 00000 n/a n/a [3]
Intel 4004 0000010 92 kIPS vid 740 kHz 00001 0,1 1971 [4]
Intel 286 0000026 2,66 MIPS vid 12,5 MHz 00220 0,2 1982 [5]
Zilog eZ80 0000800 80 MIPS vid 50 MHz 01600 1,6 1999 [6]
Freescale MPC8272 0007600 760 MIPS vid 400 MHz 01900 1,9 2000 [7] Integrated Communications Processors
ARM Cortex A8 0020000 2 000 MIPS vid 1,0 GHz 02000 2,0 2005 [8]
AMD Athlon 64 3800+ X2 (Dual Core) 0145640 14 564 MIPS vid 2,0 GHz 07282 7,3 2005 [9]
AMD Athlon FX-60 (Dual Core) 0189380 18 938 MIPS vid 2,6 GHz 07283 7,3 2006 [9]
Intel Core 2 Extreme X6800 0270790 27 079 MIPS vid 2,93 GHz 09242 9,2 2006 [9]
Intel Core 2 Extreme QX6700 0491610 49 161 MIPS vid 2,66 GHz 18481 18,5 2006 [10]
Intel Core 2 Extreme QX9770 0594550 59 455 MIPS vid 3,2 GHz 18580 18,6 2008 [11]
Intel Core i7 Extreme 965EE 0763830 76 383 MIPS vid 3,2 GHz 23860 23,9 2008 [12]
AMD Phenom II X4 940 Black Edition 042820 42 820 MIPS vid 3,0 GHz 14273 14,3 2009 [13]
Intel Core i7 Extreme Edition i980EE 147600 147 600 MIPS vid 3,3 GHz 44727 44,7 2010 [14]

Energieffektivitet

Prestanda per watt har blivit en viktig måttenhet för bland annat stora system av parallelldatorer, där elkostnaderna kan överstiga kostnaderna för att köpa in själva CPU:erna.[15] Det är också en viktig faktor för mindre system som drivs av till exempel batterier eller solkraft.

Att datorn tar litet fysiskt utrymme eller att den är lätt är också faktorer för energieffektiviteten som kan spela in i olika portabla system.

Prestandaökning

För att öka en dators allmänna prestanda kan man överklocka olika hårdvarudelar i den, till exempel CPU:n, grafikkortet eller minnena.

För att få ett visst program att köras med bättre prestanda kan man

  • välja en annan algoritm
  • optimera sina algoritmer

Mjukvaruprestanda

Att ett datorprogram, särskilt ett tillämpningsprogram, har god prestanda är en viktig del av programmets kvalitet och viktig för interaktionen mellan människa och dator.

Effektiviteten hos en algoritm beskriver hur mycket resurser algoritmen kräver. De två vanligaste resurserna man talar om är tids- och minnesåtgång. När man förbättrar en algoritm kallas det optimering. Ofta klarar kompilatorer av att göra en automatisk optimering som gynnar antingen tids- eller minnesåtgången men missgynnar den andra.

Under körning av ett datorprogram kan man analysera vilka delar man skulle tjäna mest på att optimera, detta kallas profilering av ett program.

Källor

Referenser

  1. ^ (på engelska) Measuring Program Similarity: Experiments with SPEC CPU Benchmark Suites, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.123.501&rep=rep1&type=pdf 
  2. ^ ”SPEC Frequently Asked Questions” (på engelska). 7 april 2010. http://www.spec.org/spec/faq/#01SPEC.General.10whatis. 
  3. ^ ”appendix”. Arkiverad från originalet den 10 mars 2010. https://web.archive.org/web/20100310222619/http://www.transhumanist.com/volume1/appendix.htm. Läst 7 april 2010. 
  4. ^ ”MCS4 > IntelP4004”. http://www.cpushack.net/chippics/Intel/MCS4/IntelP4004.html. Läst 7 april 2010. 
  5. ^ ”80286 Microprocessor Chip (c1982)”. Arkiverad från Intel originalet den 25 maj 2012. https://archive.is/20120525013954/http://www.computermuseum.li/Testpage/Chip-Intel80286.htm. Läst 7 april 2010. 
  6. ^ ”Zilog Sees New Lease of Life for Z80 in Internet Appliances”. Arkiverad från originalet den 25 maj 2012. https://archive.is/20120525013958/http://findarticles.com/p/articles/mi_m0CGN/is_3751/ai_55817127/. Läst 7 april 2010. 
  7. ^ ”Freescale Semiconductor - MPC8272 PowerQUICC II Processor Family”. Arkiverad från originalet den 18 februari 2012. https://web.archive.org/web/20120218191405/http://www.freescale.com/files/netcomm/doc/fact_sheet/MPC8272FAMFS.pdf. Läst 7 april 2010. 
  8. ^ ARM Cortex-A8
  9. ^ [a b c] CPU Charts 2007 - Tom's Hardware
  10. ^ Synthetics, Continued - Tom's Hardware : Intel's Core 2 Quadro Kentsfield: Four Cores on a Rampage
  11. ^ Synthetic - Sandra CPU - Tom's Hardware : Intel Core 2 Extreme QX9770: Paper Tiger?
  12. ^ H Enthusiast Synthetic - Sandra CPU
  13. ^ XtremeSystems Member Synthetic - Sandra CPU
  14. ^ ”Overclock3D - Sandra CPU”. Arkiverad från originalet den 20 juli 2011. https://web.archive.org/web/20110720062355/http://www.overclock3d.net/reviews/cpu_mainboard/intel_980x_gulftown/4. Läst 7 april 2010. 
  15. ^ Stephen Shankland (9 december 2005). ”Power could cost more than servers, Google warns” (på engelska). CNET News. http://news.cnet.com/Power-could-cost-more-than-servers,-Google-warns/2100-1010_3-5988090.html. Läst 7 april 2010.