14 คะแนน โดย xguru 2020-11-29 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  1. ความเร็วในการรันโค้ด Intel ของ Apple ที่ดูเหมือนมนตร์ดำนั้น โดยพื้นฐานคือการผสานสถาปัตยกรรม Arm และ Intel เข้าด้วยกัน

  2. โดยพื้นฐานแล้ว CPU ทั้งสองแบบมี "memory ordering" ต่างกัน จึงทำให้การจำลองทำงานได้ช้า แต่หนึ่งในวิธีที่ Apple แก้ปัญหาคือใส่วิธีของ Intel เข้าไปด้วย ทำให้เวลารันโค้ด x86 จะทำตาม memory ordering แบบของ Intel

  3. Apple เพิ่มชุดคำสั่งที่ปรับให้เหมาะกับ JavaScript และเพิ่ม L1 cache เป็นสองเท่า ทำให้การท่องเว็บเร็วขึ้นและแบตเตอรี่อยู่ได้นานขึ้น

  4. ดูอัลคอร์ของ Intel MacBook Air มีความเร็ว 3.8Ghz ตอนทำงานเต็มที่ และทำงานที่ 1.2Ghz ในโหมดช้าเพื่อประหยัดพลังงาน แต่ Intel ไม่ได้ออกแบบมาให้ทำงานโดยเน้น downclock

Apple ใส่ทั้งคอร์ประสิทธิภาพและคอร์ประหยัดพลังงานอย่างละ 4 คอร์เพื่อการปรับแต่งที่เหมาะสม ในโหมดพลังงานต่ำจะปิดคอร์ประสิทธิภาพทั้ง 4 คอร์ และทำงานด้วยคอร์ประหยัดพลังงานเท่านั้น

เวลาทำงานอย่างการคอมไพล์ ก็ใช้คอร์ทั้ง 4 ได้เต็มที่ จึงเร็วมาก

  1. Intel ตามหลังกฎของมัวร์ไป 3 ปี Apple Silicon ใช้กระบวนการผลิต 5 นาโนเมตรล่าสุดของ TSMC ส่วน Intel ใช้กระบวนการ 10 นาโน/7 นาโน และแม้กระทั่งผลิตภัณฑ์ Intel จำนวนมากก็ยังใช้กระบวนการ 14/10 นาโนที่เก่ากว่า

  2. ภาษา Swift ใช้ "reference counting" แทน "garbage collection" ของ Android และ Apple ก็ทำบางอย่างไว้ใน CPU เพื่อเพิ่มความเร็วของ reference counting ให้เป็นสองเท่า

5 ความคิดเห็น

 
xguru 2020-12-02

ทำไมชิป ARM ถึงมีคำสั่งที่ตั้งชื่อตาม JavaScript? https://th.news.hada.io/topic?id=3057

 
iolothebard 2020-11-30

การนับรีเฟอเรนซ์เป็นพื้นฐานของการเก็บกวาดขยะอยู่แล้วนี่... หมายความว่ายังไงกัน... จู่ ๆ ความน่าเชื่อถือก็ลดฮวบ...

 
xguru 2020-12-02

มีการพูดถึงเรื่องนี้อยู่เหมือนกัน

https://twitter.com/catfish_man/status/1326238434235568128?s=21

บอกว่าความเร็วในการ Retain/Release ของ NSObject แบบธรรมดา เร็วกว่าเดิมถึง 5 เท่า

ดูเหมือนว่าแม้แต่คำสั่งสำหรับทำ reference counting เองก็ทำงานได้เร็วกว่า เนื่องจากความแตกต่างของโครงสร้าง memory ordering

 
kunggom 2020-11-30

ใน Java โดยทั่วไปจะไม่ใช้ Reference Counting แต่จะใช้การเก็บกวาดหน่วยความจำแบบสไตล์อื่น เช่น Mark-and-Sweep แทน

 
xguru 2020-11-30

อ้อ? พอได้ยินแบบนั้นก็เลยคิดว่า... งั้น garbage collection ก็คงเร็วได้ประมาณนั้นเหมือนกันสินะครับ 555