10억 행 챌린지
- 2024년 1월 1일부터 1월 31일까지 진행되는 '10억 행 챌린지(1BRC)'가 발표됨.
- 참가자들은 자바 프로그램을 작성하여 텍스트 파일에서 기온 측정값을 검색하고, 각 기상 관측소별 최소, 평균, 최대 기온을 계산해야 함.
- 파일에는 10억 개의 행이 있으며, 각 행에는 하나의 측정값이 기록되어 있음.
챌린지 규칙
- 모든 제출물은 자바로 작성되어야 함.
- SDKMan을 통해 사용할 수 있는 모든 자바 배포판과 openjdk.net의 초기 액세스 빌드를 사용할 수 있음.
- 외부 종속성은 사용할 수 없음.
참여 방법
- GitHub에서 1brc 저장소를 복제하고 README 파일의 지침을 따라야 함.
- 기본 구현을 사용하여 비교 기준을 마련하고 올바른 결과를 내는지 확인할 수 있음.
- 작업에 만족하면 상위 저장소에 풀 리퀘스트를 열어 챌린지에 참여할 수 있음.
평가 및 상
- 모든 제출물은 Hetzner Cloud CCX33 인스턴스(8개의 전용 vCPU, 32GB RAM)에서 실행되어 평가됨.
- 실행 시간은 'time' 프로그램을 사용하여 측정되며, 가장 느린 실행과 가장 빠른 실행은 제외되고 남은 세 번의 실행의 평균값이 결과로 사용됨.
- 상으로는 새로운 것을 배우고, 다른 사람들에게 영감을 주며, 점수판에 이름을 올리는 자부심을 얻을 수 있음.
- 소문에 따르면 우승자에게는 독특한 1️⃣🐝🏎️ 티셔츠가 주어질 수도 있음.
GN⁺의 의견
- 이 챌린지는 자바 커뮤니티에게 자바의 성능 한계를 탐구하고 최적화 기술을 공유할 기회를 제공함.
- 대규모 데이터 처리에 대한 자바의 능력을 시험하고, 최신 자바 기능과 성능 향상 기술을 실제로 적용해 볼 수 있는 실질적인 경험이 될 수 있음.
- 참가자들은 자신의 기술을 전 세계와 경쟁하며, 학습과 협력의 장을 통해 개발 역량을 향상시킬 수 있는 기회를 가짐.