5 คะแนน โดย GN⁺ 2023-07-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Fizz Buzz เป็นโจทย์ท้าทายด้านการเขียนโปรแกรมที่มักถูกใช้ในการสัมภาษณ์งาน
  • บทความนี้นำเสนอการเขียน FizzBuzz หลากหลายแบบในภาษาโปรแกรมหลายภาษา
  • ปัจจุบันอัตราการประมวลผลสูงสุดที่ทำได้อยู่ที่ราว 57.2 GiB/s ด้วยภาษาแอสเซมบลี
  • บทความนี้ให้คำแนะนำในการบิลด์และการใช้งานสำหรับเวอร์ชันแอสเซมบลี
  • เวอร์ชันมัลติเธรดของโปรแกรมไม่ได้ช่วยเพิ่มความเร็วได้มากนัก
  • บทความนี้เน้นถึงความท้าทายและการปรับแต่งประสิทธิภาพสำหรับการทำ FizzBuzz ความเร็วสูง
  • บทความนี้กล่าวถึงโปรแกรมแอสเซมเบลอร์ AVX2 ที่ใช้ทำอัลกอริทึม FizzBuzz
  • โปรแกรมนี้ใช้รูปแบบจำนวนเฉพาะแบบสูงและ system call vmsplice เพื่อให้ทำงานได้เร็วขึ้น
  • โปรแกรมมีขั้นตอนเริ่มต้นและรูทีนหลายแบบสำหรับเขียน Fizz, Buzz และหมายเลขบรรทัด
  • บทความนี้กล่าวถึง bytecode interpreter ที่สร้างผลลัพธ์ FizzBuzz ต่อเนื่องกัน
  • โปรแกรม bytecode นี้ถูกตีความด้วยคำสั่ง SIMD เพื่อให้ประมวลผลได้อย่างมีประสิทธิภาพ
  • บทความนี้กล่าวถึงส่วนโค้ดเฉพาะที่เกี่ยวข้องกับลูปหลักสำหรับตีความ bytecode และสร้างเอาต์พุต
  • โค้ดที่ให้มาเป็นผลงานส่งเข้าร่วมโจทย์ท้าทายด้านการเขียนโปรแกรมเพื่อปรับแต่งประสิทธิภาพของ FizzBuzz
  • โค้ดนี้ให้ประสิทธิภาพสูงและใช้เทคนิคกับคำสั่งขั้นสูง
  • บทความนี้กล่าวถึงโปรแกรม C ที่สร้างลำดับ FizzBuzz โดยใช้เทคนิคที่ปรับแต่งมาอย่างดี
  • โค้ดนี้ถูกปรับแต่งเพิ่มเติมโดยนักพัฒนาคนอื่นจนแสดงประสิทธิภาพที่ดียิ่งขึ้น
  • บทความนี้กล่าวถึงผลงานโค้ดที่ใช้ JIT compilation เพื่อสร้างแอสเซมบลี FizzBuzz ที่เร็วมาก
  • การเขียนนี้มีทั้ง preprocessor และโค้ด C แบบ vectorized เพื่อให้เอาต์พุตมีประสิทธิภาพ
  • โค้ดนี้ถูกปรับแต่งและทดสอบบนหลายระบบเพื่อให้ทำผลงานได้ดีกว่าผลงานก่อนหน้า
  • บทความนี้กล่าวถึงการเขียนโค้ด C ที่ใช้คำสั่ง AVX2 เพื่อการปรับแต่งประสิทธิภาพ
  • การเขียนนี้มี JIT compiler รวมอยู่ด้วย และทำความเร็วสูงพร้อมการใช้หน่วยความจำอย่างมีประสิทธิภาพ
  • บทความนี้นำเสนอการเขียนด้วย Rust เพื่อแสดงความเร็วของ FizzBuzz
  • เวอร์ชัน Rust ใช้การแปลงจำนวนเต็มเป็นสตริงอย่างมีประสิทธิภาพและเทคนิค code chunk
  • บทความนี้กล่าวถึงโปรแกรม C ที่ทำ FizzBuzz โดยใช้เทคนิคขั้นสูงและการปรับแต่งประสิทธิภาพ
  • โปรแกรมนี้ออกแบบมาให้ทำงานได้เร็วกว่าทุกรายการอื่น และมีทั้งคำอธิบายกับโค้ดตัวอย่าง
  • ผู้เขียนให้คำแนะนำและคำเตือนเกี่ยวกับการใช้ system call vmsplice และมีโมดูลทดสอบรวมอยู่ด้วย
  • ข้อความนี้มีโค้ดตัวอย่างที่เกี่ยวข้องกับฟังก์ชันชื่อ "fizzbuzz" ซึ่งสร้างเอาต์พุตได้อย่างมีประสิทธิภาพ

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

 
GN⁺ 2023-07-04
ความคิดเห็นบน Hacker News
  • Linux เป็นการออกแบบสถาปัตยกรรมระบบที่น่าประทับใจ เพราะสามารถเก็บข้อมูลที่ถูก pipe จากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่งไว้ในแคช L2 ได้ทั้งหมด
  • ผู้เขียนบทความแก้ปัญหาที่เกี่ยวข้องกับ ASLR โดยโต้ตอบกับผู้ที่ไม่รันโปรแกรมและคอมเมนต์อย่างทุ่มเท
  • ประสิทธิภาพของการติดตั้ง FizzBuzz ใน Rust เป็นสิ่งที่คาดไม่ถึง โดยอยู่ในระดับใกล้เคียงกับ Python 3
  • ถ้าเขียนโค้ดด้วย assembly ก็ทำให้ทุกอย่างเร็วขึ้นได้
  • การประเมินความเร็วในการแก้ปัญหาที่ซับซ้อนนั้นมีข้อบกพร่องเป็นหลัก เพราะมันเป็นการทดสอบประสิทธิภาพของการดึงข้อมูลจากหน่วยความจำและการส่งผ่านระหว่างโปรเซสมากกว่า
  • การใช้ vmsplice อาจไม่สอดคล้องกับข้อกำหนดของการแข่งขัน เพราะมันเปิดให้เข้าถึงหน่วยความจำของโปรเซสสำหรับโปรเซสอื่นได้
  • ทำให้น่าสงสัยถึงความสำคัญของนามสกุลไฟล์ ".S" และ ".s"
  • Java เร็วจนน่าประหลาดใจเมื่อเทียบกับภาษาอื่นอย่าง C, C++, assembly, Go และ Rust