国外的程序员休完他们的假期之后在玩什么?他们在玩十亿行的代码挑战。工程师贡纳尔·莫林在元旦发起一个挑战(1BRC),挑战从 1 月 1 日持续到 1 月 31 日。如果你决定接受它,你的任务看似简单:编写一个 Java 程序,用于从文本文件中检索温度测量值并计算每个气象站的最小、平均值和最高温度。只有一点需要注意:文件有1,000,000,000 行!(1 billion, 10亿行)。这个文本文件结构简单,每行一个测量值, 气象站和它的测量温度:123456Hamburg;12.0Bulawayo;8.9Palembang;38.8St.John's;15.2Cracow;12.6...程序应打印出每个站的最小值、平均值和最大值,按字母顺序排列,如下所示:1{Abha=5.0/18.0/27.4, Abidjan=15.7/26.0/34.1, Abéché=12.1/29.4/35.6, Accra=14.7/26.4/33.1, Addis Ababa=2.1/16.0/24.3, Adelaide=4.1/17.3/29.7,...}1BRC挑战的目标是为这项任务创建最快的实现, 在这样做的同时,探索现代 Java 的好处,并找出你可以将这个平台推向多远。 因此,使用所有的(虚拟)线程,利用 Vector API 和 SIMD,优化你的 GC,利用 AOT 编译,或者使用你
...
继续阅读
(72)