ฉันทำการทดสอบด้วยนาฬิกาจับเวลา การทำซ้ำ 100,000 ครั้ง:
System.Random rnd = new System.Random();
if (rnd.Next(2) == 0)
trues++;
ซีพียูเหมือนจำนวนเต็มดังนั้นเมธอด Next (2) จึงเร็วกว่า 3,700 เทียบกับ 7,500ms ซึ่งค่อนข้างมาก นอกจากนี้: ฉันคิดว่าตัวเลขสุ่มอาจเป็นปัญหาคอขวดฉันสร้างประมาณ 50 ทุกเฟรมใน Unity แม้จะมีฉากเล็ก ๆ ที่ทำให้ระบบของฉันช้าลงอย่างเห็นได้ชัดดังนั้นฉันก็หวังว่าจะหาวิธีสร้างบูลแบบสุ่ม ดังนั้นฉันก็พยายามด้วย
if (System.DateTime.Now.Millisecond % 2 == 0)
trues++;
แต่การเรียกใช้ฟังก์ชันคงที่ทำได้ช้ากว่าด้วย 9,600ms คุ้มค่ากับการยิง ในที่สุดฉันก็ข้ามการเปรียบเทียบและสร้างค่าสุ่มเพียง 100,000 ค่าเพื่อให้แน่ใจว่าการเปรียบเทียบระหว่าง int เทียบกับสองครั้งไม่ส่งผลต่อเวลาที่ผ่านไป แต่ผลลัพธ์ก็ค่อนข้างเหมือนกัน