2 คะแนน โดย GN⁺ 2024-01-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ชาเลนจ์ 1 พันล้านแถว

  • มีการประกาศ 'ชาเลนจ์ 1 พันล้านแถว (1BRC)' ซึ่งจัดขึ้นระหว่างวันที่ 1 มกราคม 2024 ถึง 31 มกราคม 2024
  • ผู้เข้าร่วมต้องเขียนโปรแกรม Java เพื่อค้นหาค่าการวัดอุณหภูมิจากไฟล์ข้อความ และคำนวณอุณหภูมิต่ำสุด ค่าเฉลี่ย และอุณหภูมิสูงสุดของแต่ละสถานีตรวจอากาศ
  • ไฟล์มีทั้งหมด 1 พันล้านแถว และในแต่ละแถวจะบันทึกค่าการวัดหนึ่งค่า

กติกาของชาเลนจ์

  • ผลงานที่ส่งทั้งหมดต้องเขียนด้วย Java
  • สามารถใช้ Java distribution ทั้งหมดที่ใช้งานได้ผ่าน SDKMan และ early access build จาก openjdk.net ได้
  • ห้ามใช้ external dependency

วิธีเข้าร่วม

  • ต้องโคลนรีโพซิทอรี 1brc จาก GitHub และทำตามคำแนะนำในไฟล์ README
  • สามารถใช้ implementation พื้นฐานเพื่อสร้างเกณฑ์เปรียบเทียบและตรวจสอบว่าให้ผลลัพธ์ที่ถูกต้องหรือไม่
  • เมื่อพอใจกับผลงานแล้ว สามารถเปิด pull request ไปยังรีโพซิทอรีหลักเพื่อเข้าร่วมชาเลนจ์ได้

การประเมินและรางวัล

  • ผลงานที่ส่งทั้งหมดจะถูกรันและประเมินบนอินสแตนซ์ Hetzner Cloud CCX33 (vCPU เฉพาะ 8 ตัว, RAM 32GB)
  • เวลาการรันจะวัดด้วยโปรแกรม time โดยจะตัดผลการรันที่ช้าที่สุดและเร็วที่สุดออก แล้วใช้ค่าเฉลี่ยของการรันที่เหลือ 3 ครั้งเป็นผลลัพธ์
  • รางวัลคือการได้เรียนรู้สิ่งใหม่ ๆ การสร้างแรงบันดาลใจให้ผู้อื่น และความภูมิใจที่มีชื่อติดอยู่บนกระดานคะแนน
  • มีข่าวลือว่าผู้ชนะอาจได้รับเสื้อยืด 1️⃣🐝🏎️ สุดพิเศษด้วย

ความเห็นของ GN⁺

  • ชาเลนจ์นี้เปิดโอกาสให้ชุมชน Java ได้สำรวจขีดจำกัดด้านประสิทธิภาพของ Java และแบ่งปันเทคนิคการปรับแต่งประสิทธิภาพ
  • อาจเป็นประสบการณ์เชิงปฏิบัติที่ช่วยทดสอบความสามารถของ Java ในการประมวลผลข้อมูลขนาดใหญ่ และได้ลองนำฟีเจอร์ Java สมัยใหม่กับเทคนิคเพิ่มประสิทธิภาพมาใช้จริง
  • ผู้เข้าร่วมจะมีโอกาสแข่งขันด้วยทักษะของตนกับคนทั่วโลก และพัฒนาความสามารถด้านการพัฒนาผ่านพื้นที่แห่งการเรียนรู้และความร่วมมือ

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

 
dlehals2 2024-01-10

อันดับ 1 ใช้เวลา 6 วินาทีเอง.. น่าทึ่งมาก