เรากำลังเรียกใช้งานคอมพิวเตอร์ด้วย GridEngine ทุกงานคืน 3 ครั้ง:
- เวลานาฬิกาแขวน
- เวลาของผู้ใช้
- เวลา CPU
ความแตกต่างระหว่างสามสิ่งนี้คืออะไร? ข้อใดในสามข้อนี้ที่เหมาะสมที่สุดในการเปรียบเทียบประสิทธิภาพของสองแอปพลิเคชั่น / สคริปต์
เรากำลังเรียกใช้งานคอมพิวเตอร์ด้วย GridEngine ทุกงานคืน 3 ครั้ง:
ความแตกต่างระหว่างสามสิ่งนี้คืออะไร? ข้อใดในสามข้อนี้ที่เหมาะสมที่สุดในการเปรียบเทียบประสิทธิภาพของสองแอปพลิเคชั่น / สคริปต์
คำตอบ:
เวลานาฬิกาแขวนคือจำนวนเวลาที่ใช้จริงในการทำงาน นี่เทียบเท่ากับการจับเวลางานของคุณด้วยนาฬิกาจับเวลาและเวลาที่วัดได้เพื่อให้งานของคุณเสร็จสมบูรณ์อาจได้รับผลกระทบจากสิ่งอื่นใดที่ระบบเกิดขึ้นในขณะนั้น
เวลาของผู้ใช้วัดระยะเวลาที่ CPU ใช้ในการเรียกใช้รหัสของคุณ สิ่งนี้จะไม่นับสิ่งอื่นใดที่อาจกำลังทำงานอยู่และจะไม่นับเวลา CPU ที่ใช้ในเคอร์เนล (เช่นสำหรับไฟล์ I / O)
เวลา CPU วัดจำนวนเวลาทั้งหมดที่ CPU ใช้ในการเรียกใช้รหัสของคุณหรือสิ่งใดก็ตามที่รหัสของคุณร้องขอ รวมถึงเวลาเคอร์เนล
การวัด "เวลาของผู้ใช้" น่าจะเหมาะสมที่สุดสำหรับการวัดประสิทธิภาพของงานที่แตกต่างกันเนื่องจากจะได้รับผลกระทบน้อยที่สุดจากสิ่งอื่น ๆ ที่เกิดขึ้นในระบบ
จาก Wikipedia:
คำว่า 'เวลา CPU ของผู้ใช้' อาจทำให้เข้าใจผิดเล็กน้อยในตอนแรก เพื่อล้างเวลารวม (เวลา CPU จริง) เป็นการรวมกันของจำนวนเวลาที่ CPU ใช้ในการดำเนินการบางอย่างสำหรับโปรแกรมและระยะเวลาที่ CPU ใช้ในการดำเนินการเรียกระบบสำหรับเคอร์เนลในนามของโปรแกรม เมื่อโปรแกรมวนลูปผ่านอาร์เรย์จะเป็นการสะสมเวลา CPU ของผู้ใช้ ในทางกลับกันเมื่อโปรแกรมเรียกใช้งานการเรียกของระบบเช่น exec หรือ fork มันจะสะสมเวลา CPU ของระบบ
เวลาของนาฬิกาในผนังเป็นเวลาที่คอมพิวเตอร์ใช้ในการทำงาน มันคือผลรวมของสามคำ: เวลา CPU, เวลา I / O และความล่าช้าของช่องทางการสื่อสาร (เช่นหากข้อมูลกระจัดกระจายในเครื่องหลายเครื่อง) ตรงกันข้ามกับเวลาของ CPU ซึ่งวัดเฉพาะเวลาที่โปรเซสเซอร์ทำงานอย่างแข็งขันกับงานบางอย่างเวลาผนังวัดเวลาทั้งหมดสำหรับกระบวนการให้เสร็จสมบูรณ์ ความแตกต่างระหว่างทั้งสองประกอบด้วยเวลาที่ผ่านไปเนื่องจากความล่าช้าของโปรแกรมหรือรอให้ทรัพยากรพร้อมใช้งาน