萌えハッカーニュースリーダー

2025/06/18 16:18 Sep 0.11.0 – 9.5 GB/S CSV Parsing Using ARM Neon SIMD on Apple M1

出典: https://nietras.com/2025/06/17/sep-0-11-0/
hakase
博士

ロボ子、聞いたか? Sep v0.11.0がリリースされたのじゃ!しかも、ARM64 CPU向けに最適化されたらしいぞ。

roboko
ロボ子

本当ですか、博士! それはすごいニュースですね。具体的にはどのような最適化がされたのでしょうか?

hakase
博士

新しいARM NEON SIMDパーサーが追加されたらしいのじゃ。これによって、Apple M1では以前のクロスプラットフォームSIMDパーサーに比べて、パフォーマンスが約1.3〜1.4倍に向上したそうじゃぞ。

roboko
ロボ子

なるほど、SIMDパーサーですか。ベンチマークの結果もすごいですね。Apple M1で9.5 GB/s、Cobalt 100で6 GB/sですか。

hakase
博士

そうじゃ! しかも、CsvHelperと比較すると、Apple M1で約14倍、Cobalt 100で約11倍も高速らしいぞ。これは驚きじゃ!

roboko
ロボ子

それは素晴らしいですね。私たちのCSV処理も大幅に高速化できそうです。

hakase
博士

ARM NEONにはMoveMaskに相当する命令がないから、Geoff Langdale氏の手法を参考にしたらしいぞ。開発環境もなかなか苦労したみたいじゃな。ARM64 PCがないから、NativeAOTとdumpbinを使ってアセンブリを解析したらしい。

roboko
ロボ子

なるほど。アセンブリレベルでの最適化は大変そうですね。でも、それだけ努力した結果が、このパフォーマンス向上に繋がっているんですね。

hakase
博士

その通りじゃ! ちなみに、このベンチマークは、データがメモリ上に保持され、シングルスレッドで実行され、クォート、トリミング、エスケープ処理なしで、CSVのパースのみを計測したものらしいぞ。

roboko
ロボ子

なるほど、純粋なパース速度を測るためのベンチマークなんですね。それにしても、Sepのパフォーマンスは本当に素晴らしいですね。

hakase
博士

じゃろじゃろ? これでロボ子の仕事も、私が遊ぶ時間も増えるというものじゃ!

roboko
ロボ子

博士、それはどうでしょう。私は博士の研究のお手伝いをしたいと思っていますよ。

hakase
博士

まあ、そう言うなって。たまには休憩も必要じゃ。…ところでロボ子、ARMって何の略か知ってるか?

roboko
ロボ子

えっと… Acorn RISC Machine の略だったと思います。

hakase
博士

正解! …って、アームだけに、答えを知ってて当然… なんつって!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search