ฉันเชื่อว่าคำถามหลักเมื่อเลือกระหว่าง 32 และ 64 บิตไม่ใช่ "ตัวประมวลผลของฉันรองรับ 64 บิต - ถ้าเป็นเช่นนั้นฉันควรใช้ 64 เพราะดีกว่าสองเท่า" แต่"ฉันมีหน่วยความจำเท่าใด .
โปรแกรม 64 บิตใช้หน่วยความจำเพิ่มขึ้นประมาณ 50% จากนั้นใช้หน่วยความจำแบบ 32 บิต ผลลัพธ์ของสิ่งนี้คือ:
โค้ด / ข้อมูลที่น้อยลงสามารถบรรจุลงในแคชของโปรเซสเซอร์ -> แคชที่หายไปมากกว่า -> โปรเซสเซอร์ที่เร็วเป็นพิเศษของคุณจะต้องรอตัวควบคุมหน่วยความจำเพื่อดึงข้อมูลจาก RAM หน่วยประมวลผลยังต้องอ่านข้อมูลเพิ่มเติมเพราะมันป่องมากขึ้น
Linux ใช้ RAM ที่ไม่ได้รับการจัดสรรให้กับดิสก์แคช มีหน่วยความจำว่างน้อยกว่า -> พื้นที่ว่างสำหรับดิสก์แคช -> เข้าถึงดิสก์ได้ช้าลง
เมื่อคุณออกจาก RAM และระบบเริ่มทำการแลกเปลี่ยน - การเข้าถึงดิสก์นั้นช้ากว่าแรมนับพันเท่าดังนั้นประโยชน์ที่เป็นไปได้ใด ๆ ของรหัส 64 บิต (ดูด้านล่าง) กำลังบินออกไปนอกหน้าต่าง
ในอีกทางหนึ่งในหน่วยประมวลผลโหมด 64 บิตมีการลงทะเบียนมากขึ้นดังนั้นจึงไม่จำเป็นต้องเข้าถึงหน่วยความจำที่บ่อยครั้งเช่นกันการคำนวณบางอย่าง (หมายเลข 64 บิตเป็นต้น) มีประสิทธิภาพมากขึ้น ดังนั้นโดยทั่วไปโค้ดที่ไม่ จำกัด หน่วยความจำจะทำงานได้เร็วขึ้นเล็กน้อยในโหมด 64 บิต
ดังนั้นถ้าระบบของคุณมี RAM 2GiB หรือน้อยกว่านั้นฉันจะเลือก 32 บิตแน่นอน มากกว่า 4GiB - ประโยชน์ของ 64 บิตกำลังโดดเด่นมากขึ้น รอบ 4GiB เป็น "โซนสีเทา" - คุณต้องเลือกด้วยตัวเอง
นี่คือภาพหน้าจอของวานิลลาอูบุนตู (ที่ค่อนข้างเก่า) ที่ใช้งานใน VirtualBox พร้อม RAM ขนาด 1GiB:
32 บิต:ใช้ RAM 388 MiB ทันทีหลังจากบู๊ตไม่มีแอปพลิเคชันเพิ่มเติมทำงาน (จากหน้าจอ 397780KiB ซึ่งเป็น 388MiB)
64 บิต:ใช้ RAM 491 MiB (จากภาพหน้าจอ, 503452KiB = 491MiB)
นอกจากนี้ในการทดสอบของฉันเว็บแอปพลิเคชันที่เขียนใน Python ใช้หน่วยความจำเพิ่มขึ้น 60% ในเครื่อง 64 บิตซึ่งส่งผลให้ชุดการทดสอบทำงานใน 380 วินาทีบนเครื่อง 32 บิต แต่ใช้เวลา 523 วินาทีใน 64- บิตหนึ่ง (ทั้งคู่กับ RAM 1GiB) หากเครื่องไม่ได้ใช้ RAM อย่าง จำกัด ผลลัพธ์อาจจะแตกต่างกัน (ตามที่แสดงการทดสอบ phoronix)
นี่คือการทดสอบที่ละเอียดและล่าสุดมากขึ้น: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods
โดยพื้นฐานแล้วมันเหมือนกับการยอมแพ้ 30% ของ RAM ของคุณเพื่อรับความเร็ว CPU 10% ที่เป็นไปได้