ชาเลนจ์ 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 ความคิดเห็น
อันดับ 1 ใช้เวลา 6 วินาทีเอง.. น่าทึ่งมาก