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

การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์ คือ การวัดประสิทธิภาพของระบบคอมพิวเตอร์โดยทั่วไปนั้นจะเน้นที่ตัวประมวลผลเป็นหลัก ซึ่งการมุ่งเน้นไปที่ตัวประมวลผลนั้นเป็นเพียงส่วนหนึ่งของการวัดประสิทธิภาพโดยรวมทั้งระบบ
== ค่าประสิทธิภาพของตัวประมวลผล ==
โดยทั่วไปมักมีการเข้าใจที่ผิดว่าค่าความถี่ของสัญาณนาฬิกา (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
การวัดเปรียบเทียบสมรรถนะของคอมพิวเตอร์
ประสิทธิภาพคอมพิวเตอร์