การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์

**การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์** คือ การวัดประสิทธิภาพของระบบคอมพิวเตอร์โดยทั่วไปนั้นจะเน้นที่ตัวประมวลผลเป็นหลัก ซึ่งการมุ่งเน้นไปที่ตัวประมวลผลนั้นเป็นเพียงส่วนหนึ่งของการวัดประสิทธิภาพโดยรวมทั้งระบบ

## ค่าประสิทธิภาพของตัวประมวลผล
โดยทั่วไปมักมีการเข้าใจที่ผิดว่าค่าความถี่ของสัญาณนาฬิกา (MHz, GHz) เพียงอย่างเดียว หรือค่าของจำนวนคำสั่งที่ทำเสร็จในหนึ่งรอบสัญญาณนาฬิกา (Instructions executed Per Clock, IPC) เพียงอย่างเดียวเป็นค่าประสิทธิภาพของตัวประมวลผล ในความเป็นจริงค่าประสิทธิภาพที่ถูกต้องของตัวประมวลผลคือค่าของความถี่สัญาณนาฬิกาและค่าของจำนวนคำสั่งที่ทำเสร็จในหนึ่งรอบสัญญาณนาฬิกา ดังสมการ [4, 5]

Performance = (Clock Frequency * IPC) 

การเพิ่มประสิทธิภาพการทำงานของตัวประมวลผลจะสามารถทำได้ในสองลักษณะคือ การเพิ่มความถี่ของสัญญาณนาฬิกา หรือการเพิ่มค่าของ IPC ซึ่งการเพิ่มค่าของความถี่สัญญาณนาฬิกาสามารถเพิ่มได้โดยการปรับเปลี่ยนกระบวนการผลิต (Manufacturing Process) และ IPC จะสามารถทำได้โดยการออกแบบโครงสร้างของตัวประมวลผลในระดับ Micro Architecture เพื่อให้ได้ตัวประมวลผลที่มีประสิทธิภาพในการทำงานที่สูงที่สุด

## Benchmark ดรรชนีชี้วัดประสิทธิภาพคอมพิวเตอร์
คำว่า Benchmark ในความเข้าใจโดยทั่วไปความหมายคือ เครื่องมือสำหรับชี้วัด หรือดรรชนีชี้วัดประสิทธิภาพของการทำงาน หรือระบบการทำงานที่ต้องการวัดผลลัพธ์ โดยให้ผลการวัดออกมาเป็นค่าเชิงปริมาณ ที่นับได้หรือรับรู้ได้ในเชิงรูปธรรม
Benchmark สำหรับระบบคอมพิวเตอร์ นั้นถูกใช้เป็นตัวชี้วัดประสิทธิภาพการทำงานของระบบคอมพิวเตอร์ ในด้านการวัดประสิทธิภาพการทำงานเชิงระบบ และการทำงานเชิงโปรแกรม ซึ่งเป็น 2 ประเภทหลัก ของโปรแกรมประเภท Benchmark ในปัจจุบัน
# **การวัดประสิทธิภาพเชิงระบบ** (System Synthetic) เป็นการวัดประสิทธิภาพการทำงานเชิงสังเคราะห์ของระบบ โดยผลที่ได้จากการทดสอบจะเป็นการวัดประสิทธิภาพในส่วนของการทำงานของโพรเชสเซอร์ เช่น การทำงานของระบบประมวลผลเชิงเลขจำนวนเต็ม (Integer) การทำงานของระบบทศนิยม (Floating Point unit) การทดสอบประสิทธิภาพการทำงานของอุปกรณ์รอบข้างต่าง ๆ เช่น การทดสอบระบบแสดงผล หน่วยความจำ ฮาร์ดดิสก์ ซีดีรอม ระบบเสียง
# **การวัดประสิทธิภาพเชิงโปรแกรม** (Application Synthetic) เป็นการวัดประสิทธิภาพในส่วนการทำงานของระบบคอมพิวเตอร์โดยรวมเมื่อทำงานกับโปรแกรมประยุกต์ประเภทต่าง ๆ ซึ่งกลุ่มของโปรแกรมประยุกต์ที่ใช้ทดสอบจะเป็นโปรแกรมที่ใช้กันอย่างแพร่หลาย เช่น โปรแกรมชุดออฟฟิศ โปรแกรมชุดอินเทอร์เน็ตเบราว์เซอร์ โปรแกรมชุดกราฟิก โดยจำลองสภาพแวดล้อมการทำงานในการทดสอบ

## มาตรฐานของ Benchmark
เป็นที่ทราบกันในกลุ่มอุตสาหกรรมคอมพิวเตอร์ว่า โปรแกรม Benchmark นั้นไม่มีมาตรฐานที่กำหนดอย่างชัดเจน หากแต่ Index หรือดรรชนีชี้วัดที่ได้จากแต่ละโปรแกรมมีพื้นฐานมาจากการทดสอบเทียบกับเครื่องอ้างอิงที่ผู้ผลิตโปรแกรมได้กำหนดขึ้น โปรแกรมสำหรับทดสอบ Benchmark ในท้องตลาดปัจจุบันมีจากหลาย ๆ ค่ายผู้ผลิต และมาจากหลายกลุ่มทำงาน ต่างค่ายต่างคิดต่างค่ายต่างทำ

โปรแกรมประเภท Benchmark สำหรับ PC ได้มาจากแนวความคิดในการทดสอบประสิทธิภาพการทำงานของคอมพิวเตอร์ที่เป็นระบบงานใหญ่ ๆ ตั้งแต่ mini computer จนถึง super computer และมีระบบปฏิบัติการแบบยูนิกซ์ พัฒนามาสู่ PC การทดสอบทำได้โดยการนำเอาข้อมูลทดสอบที่ถูกสร้างขึ้นเพื่อจุดประสงค์เฉพาะเจาะจง เช่น หากต้องการทดสอบประสิทธิภาพการทำงานของระบบทศนิยมของโพรเชสเซอร์ ข้อมูลตัวอย่างก็จะเป็นสมการทางคณิตศาสตร์ที่มีการคำนวณทศนิยมจำนวนหนึ่ง จากนั้นโปรแกรมจะทำการคำนวณเวลาที่ใช้ในการทำคำสั่งกับข้อมูลนั้นจนจบ แล้วเทียบออกมาเป็นคะแนนที่เป็นจำนวนเท่าของเครื่องอ้างอิง (เครื่องอ้างอิงคือเครื่องที่นำมาทดสอบด้วยโปรแกรม Benchmark ในครั้งแรก และได้ผลการทดสอบออกมาค่าหนึ่ง จากนั้น ค่าที่ได้นี้จะถูกนำมาแปลงเป็น Index เริ่มต้นที่มีค่าเท่ากับ 1.0)
เช่นหากได้คะแนน Index จากเครื่องทดสอบเท่ากับ 42.8 หมายความว่า เครื่องที่ทดสอบมีประสิทธิภาพในการทำงานเป็น 42.8 เท่าของเครื่องอ้างอิง

## ความเชื่อถือได้ของ Benchmark
ผลที่ได้จากการทดสอบมีความน่าเชื่อถือได้ในระดับใดนั้น เป็นสิ่งที่อธิบายได้ยากในขอบเขต Benchmark เนื่องจากในการทดสอบนั้น แต่ละครั้งจะมีค่าแปรร่วม หรือ พารามิเตอร์ ที่เข้ามาเกี่ยวข้องในหลาย ๆ ส่วน ทำให้การทดสอบเหล่านี้ไวต่อสิ่งรอบข้าง การทดสอบโดยใช้โปรแกรม Benchmark ตัวเดียวกัน กับเครื่องทดสอบ เครื่องเดียวกัน ทดสอบโดยระบบปฏิบัติการตัวเดียวกัน การทดสอบครั้งแรกทดสอบโดยไม่มีการปรับแต่งระบบ และการทดสอบครั้งที่ 2 ทดสอบโดยการปรับแต่งระบบปฏิบัติการเพียงเล็กน้อย อาจทำให้ผลการทดสอบต่างกันได้ตั้งแต่ 10% ขึ้นไป

## การเปรียบเทียบผลที่ได้จากการทดสอบ Benchmark
การเปรียบเทียบผลที่ได้จากการทดสอบ Benchmark ของเครื่องทดสอบนั้นจะสามารถเปรียบเทียบได้บนพื้นฐานตามเท่าเทียมกันของอุปกรณ์ทุกชนิด ซึ่งเป็นไปได้ยากในความเป็นจริง ดังนั้นการพิจารณาผลของการทดสอบจะต้องอาศัยการพิจารณาคะแนนที่ได้ร่วมกับการรายละเอียดของอุปกรณ์ชิ้นส่วนต่าง ๆ ประกอบ Benchmark ที่ให้ผลการทดสอบที่ถูกต้องและสื่อถึงประสิทธิภาพของระบบใน ประเด็นที่ทำการทดสอบคือ การใช้งาน Benchmark ที่พัฒนาขึ้นมาเฉพาะการทดสอบนั้น ๆ เช่นการที่เราต้องการทดสอบระบบ A ว่ามีประสิทธิภาพในการทำงานกับโปรแกรมประเภทออฟฟิศเป็นเท่าใด ก็ทำโดยการสร้าง workload สำหรับการทดสอบ นำไปทดสอบกับเครื่องอ้างอิงและบันทึกผลการทดสอบไว้ จากนั้นนำ workload ชุดเดียวกันไปทดสอบเครื่องที่ต้องการทดสอบ นำผลที่ได้มาเปรียบเทียบและวิเคราะห์ออกมาเป็นค่าดรรชนี การทดสอบในลักษณะเช่นนี้ เป็นการทดสอบที่กระทำอยู่ภายในห้องทดสอบผลิตภัณฑ์ของบริษัทต่าง ๆ ซึ่งโปรแกรมทดสอบก็ไม่เป็นที่เปิดเผย (Proprietary Benchmark) และผลที่ได้ก็เป็นข้อมูลของแต่ละบริษัท การยอมรับจึงเกิดในกลุ่มจำกัด เนื่องจากไม่มีมาตรฐานรองรับดังที่ได้กล่าวข้างต้น

## Price Performance ประสิทธิภาพต่อราคาระบบ
Price Performance เป็นคำพูดที่มักจะได้รับฟังในวงการคอมพิวเตอร์ ในระบบการจัดซื้อจัดจ้าง หรือการประมูลโครงการ ในกระบวนการทดสอบทางคอมพิวเตอร์เพื่อหาค่าดรรชนีที่เรียกว่าประสิทธิภาพต่อราคาของระบบนั้นสามารถกระทำได้ในหลายรูปแบบ หากต้องการหาค่าประสิทธิภาพต่อราคาของระบบโดยรวม จะทำโดยการทดสอบ Benchmark เพื่อหาค่าดรรชนีประสิทธิภาพเฉลี่ยโดยรวมออกมา ซึ่งเป็นค่าที่เรียกว่า Overall Performance การทำการทดสอบดังกล่าว ต้องทดสอบบนพื้นฐานของระบบปฏิบัติการ และโปรแกรมทดสอบเดียวกัน จากนั้นผลที่ได จะนำมาหาค่าประสิทธิภาพต่อราคา โดยนำเอาราคาระบบที่รวมราคาระบบปฏิบัติการที่ถูกต้องตามกฎหมาย หาค่าออกมาเปรียบเทียบแต่ละระบบ

ดังนั้นจะเห็นได้ว่าการหาค่าประสิทธิภาพต่อราคาของระบบ จะต้องทำการทดสอบระบบจริง โดยคณะกรรมการในการทดสอบและรับรองผล ไม่ใช่ค่าดังกล่าวได้มาจากคำบอกเล่าของผู้ขาย หรือความรู้สึกว่ามันน่าจะดีกว่าของบางบุคคล ซึ่งการทดสอบเป็นวิธีที่โปร่งใส และเป็นการลดปัญหาในการจัดหาระบบสำหรับองค์กร

## Benchmark ที่เป็นที่ยอมรับ
สำหรับอุตสาหกรรม PC กลุ่มทดสอบและวิจารณ์ระบบ ส่วนใหญ่จะให้การยอมรับโปรแกรมสำหรับทดสอบ Benchmark ที่พัฒนาโดยกลุ่มบริษัทที่เชี่ยวชาญการทดสอบ Benchmark สำหรับ PC ซึ่งได้แก่ โปรแกรมตระกูล winbench winstone จาก ziff davis โปรแกรม Sysmark จากค่าย BAPCO และ 3D mark จาก madonion นอกจากนี้ยังมีโปรแกรมทดสอบต่าง ๆ อีกหลายตัวที่ใช้กับในกลุ่มนักทดสอบอิสระ และโปรแกรมต่าง ๆ ที่กล่าวถึงมีการทำงานอย่างไร

### Winbench
โปรแกรมทดสอบ winbench เป็นโปรแกรมที่มุ่งเน้นการทดสอบประสิทธิภาพเชิงของระบบในรายละเอียดการทำงานในส่วนต่าง ๆ ของระบบ เช่น การทดสอบ CPU mark การทดสอบ FPU mark การทดสอบระบบแสดงผล ซึ่งค่าที่ได้จะเป็นดรรชนีที่สะท้อนถึงประสิทธิภาพของชิ้นส่วนที่นำมาประกอบเป็นเครื่องคอมพิวเตอร์

### Winstone
โปรแกรมทดสอบ Winstone เป็นโปรแกรมที่มุ่งเน้นการทดสอบประสิทธิภาพเชิงโปรแกรม โดยโปรแกรมทดสอบได้นำเอา workload รูปแบบต่าง ๆ ที่ใช้งานในการทำงานตามปกติในสำนักงาน และการใช้อินเทอร์เน็ต workload สำหรับการทดสอบ เช่น office suit ต่าง ๆ อินเทอร์เน็ตเบราว์เซอร์ โปรแกรมกราฟิกต่าง ๆ ผลการทดสอบที่ได้เป็นค่าดรรชนีที่สะท้อนถึงประสิทธิภาพของระบบที่มีต่อโปรแกรมประยุกต์

### Sysmark
โปรแกรมทดสอบ Sysmark เป็นโปรแกรมทดสอบที่มุ่งเน้นการทดสอบประสิทธิภาพเชิงโปรแกรม เช่นเดียวกับโปรแกรม winstone โดยมีลักษณะของ workload สำหรับการทดสอบที่ใกล้เคียงกันและผลการทดสอบที่ได้ก็บ่งชี้ถึงประสิทธิภาพของระบบที่มีต่อโปรแกรมประยุกต์เช่นกัน

### PC Mark
โปรแกรมทดสอบ PC Mark เป็นโปรแกรมที่มุ่งเน้นการทดสอบประสิทธิภาพเชิงของระบบในรายละเอียดการทำงานในส่วนต่าง ๆ ของระบบ เช่น การทดสอบ CPU mark การทดสอบ FPU mark การทดสอบระบบแสดงผล ซึ่งค่าที่ได้จะเป็นดรรชนีที่สะท้อนถึงประสิทธิภาพของชิ้นส่วนที่นำมาประกอบเป็นเครื่องคอมพิวเตอร์เช่นเดียวกันกับ winbench

### 3D mark
โปรแกรม 3D mark เป็นโปรแกรมที่พัฒนาขึ้นมาเพื่อทดสอบประสิทธิภาพการทำงานของระบบแสดงผลแบบ 3 มิติ ซึ่งออกมารองรับเกม 3 มิติ ในปัจจุบันการทดสอบระบบการแสดงผล 3 มิติ นี้จะให้ค่าประสิทธิภาพของระบบ 3 มิติที่ใช้งานภายในระบบ

## สรุป
ค่าประสิทธิภาพของระบบคอมพิวเตอร์ต้องมาจากสองส่วนคือ ประสิทธิภาพของตัวประมวลผลและค่าประสิทธิภาพของระบบโดยรวม โดยเครื่องมือ Benchmark ที่ใช้สำหรับทดสอบระบบ คอมพิวเตอร์ส่วนบุคคลในปัจจุบัน นั้นเป็นส่วนหนึ่งของเครื่องมือช่วยในการวิเคราะห์ความสามารถของระบบโดยดรรชนีต่าง ๆ ที่วัดได้ เป็นผลสะท้อนที่ได้รับจากการตอบสนองของระบบโดยตรง อย่างไรก็ตามผลที่ได้จากการทดสอบ อาจไม่สามารถอธิบายสิ่งต่าง ๆ ที่เกิดขึ้นกับระบบได้ชัดเจน ต้องอาศัยการวิเคราะห์การศึกษาข้อมูลของระบบที่ทดสอบอย่างละเอียด การทดสอบ Benchmark เป็นสิ่งที่ละเอียดอ่อน มีปัจจัยร่วมในการเปลี่ยนแปลง และสภาพแวดล้อมของตัวแปรที่มีผลต่อการทดสอบ ดังนั้น ความเข้าใจในพฤติกรรม ของโปรแกรม Benchmark ความเข้าใจระบบพื้นฐานทางฮาร์ดแวร์ที่ทำการทดสอบ และการศึกษาหาความรู้ทางด้าน Benchmark จึงเป็นสิ่งจำเป็นและสำคัญเพื่อช่วยในการวิเคราะห์และพิจารณาผลที่ได้จากการทดสอบ และจะเกิดประโยชน์สูงสุดต่อการนำไปใช้งาน

## อ้างอิง

* Walter J. Price Motorola, *A Benchmark Tutorial IEEE Micro*, Oct 1989, pp 28 – 43
* Intel Corporation, *iCOMP® Index 3.0 Performance Brief*, May 2000
* สัญญา คล่องในวัย, *Bench Mark ดรรชนีชี้วัดประสิทธิภาพคอมพิวเตอร์*, สารเนคเทค ปีที่8 ฉบับที่ 38 มกราคม – กุมภาพันธ์ 2544
* AMD, *Understanding Processor Performance White Paper*, Aug 24 2001
* Intel, *Inside the NetBurst™ Micro-Architecture of the Intel® Pentium® 4 Processor*

## แหล่งข้อมูลอื่น
* Java Micro Benchmark
* 70 benchmarks

การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์
หมวดหมู่:ประสิทธิภาพคอมพิวเตอร์