- ในระบบสมัยใหม่ การชนกันของไทม์สแตมป์ระดับนาโนวินาทีเกิดขึ้นได้บ่อย และเกิดในตัวอย่างประมาณ 5% เมื่ออ่านนาฬิกาพร้อมกันจาก 4 คอร์จริง
- การสมมติว่าไทม์สแตมป์ระดับนาโนวินาทีดิบเป็นตัวระบุที่ไม่ซ้ำกันนั้นไม่ปลอดภัย
- ใช้โปรแกรมทดสอบที่เขียนด้วย Go เพื่อเปรียบเทียบความแตกต่างเชิงสัมพัทธ์ระหว่างไทม์สแตมป์แบบต่อเนื่องกับไทม์สแตมป์แบบสัมบูรณ์
- พฤติกรรมของการชนกันของไทม์สแตมป์แตกต่างกันไปตามระบบ โดยพบผลลัพธ์ที่ต่างกันบน Mac OS X และ Linux
- บน Linux ภายในเธรดเดียว เวลาสัมบูรณ์และเวลาแบบโมโนโทนิกจะเพิ่มขึ้นเสมอ และมีค่าการเพิ่มขั้นต่ำ 32 ns ข้ามเธรด เวลาสัมบูรณ์ประมาณ 5% จะตรงกับของอีกเธรดหนึ่ง และแม้ทำงานด้วย 2 เธรดบนระบบ 4 คอร์ ก็ยังเกิดการชนกันของไทม์สแตมป์ประมาณ 2%
- บน Mac OS X เวลาสัมบูรณ์มีความละเอียดระดับไมโครวินาที จึงเกิดการชนกันจำนวนมากเมื่อทำการทดสอบเดิมซ้ำ แม้กระทั่งภายในเธรดเดียว นาฬิกาโมโนโทนิกบางครั้งก็อาจไม่เพิ่มขึ้น
- สำหรับการสำรวจเพิ่มเติม สามารถดูโปรแกรมทดสอบได้บน Github
1 ความคิดเห็น
ความเห็นจาก Hacker News