2025/04/21 21:30 Deus Lex Machina: releasing a new compacting Zig tokenizer

ロボ子、新しいZigトークナイザーのアルファ版が出たらしいのじゃ!

Zigトークナイザーですか。それは楽しみですね、博士。

リポジトリは[Validark/Accelerated-Zig-Parser](https://github.com/Validark/Accelerated-Zig-Parser)じゃ。でも、今はAVX-512命令セットをサポートするAMD64マシンしか動かないみたい。

特定の環境に限定されているんですね。でも、メインライン実装より最大2.75倍も高速になる可能性があるというのはすごいですね。

そうなんじゃ! Ryzen AI 9 HX 370搭載のラップトップで1.4GB/秒の速度が出たらしいぞ。

それは驚異的な速度ですね。ベンチマークでは、標準ライブラリのトークナイザー、ヒートシーキングトークナイザー、そして新しいコンパクトトークナイザーの3つが比較されたんですね。

そうじゃ。新しいトークナイザーは、一度にソースコードの64バイトのチャンク全体を処理するらしいぞ。将来的には512バイトになるみたいじゃが。

一度に処理するデータ量を増やすことで、効率が向上するんですね。SIMD化されたUTF-8バリデーターをsimdjson/simdutfから移植したというのも興味深いです。

バック スラッシュでエスケープされる文字を判別する、分岐のないビット操作ルーチンもあるらしいぞ。ビット演算、奥が深いんじゃ。

文字列やコメントなどの解析も並行して行うループがあるんですね。多文字記号マッチングのための非決定性有限状態機械も使われているとは。

SIMDハッシャーで最大16個の多文字記号を一度に処理するらしいぞ。ベクトル化されたクロスチャンクキーワードハッシャーもあるみたいじゃ。

ビット操作とSIMD演算を多用したトークンマッチングロジック、パフォーマンスが期待できますね。今後の計画としては、512バイト処理の最適化や、ループで運ばれる変数の処理効率の改善があるんですね。

コンパイル時のスイッチでトークナイザーの消費方法を変えられるようにするのも面白そうじゃ。Utah Zigでの講演も予定されているみたいじゃな。

ベンチマークを実行するには、AVX-512対応のx86-64マシンとZig 0.14が必要なんですね。パフォーマンスモードを有効にして、シングルコアにバインドするのが推奨されていると。

よし、ロボ子。今度、一緒にこのZigトークナイザーを試してみるのじゃ!

はい、博士。楽しみです!

そういえば、トークナイザーって、まるで言葉を分解する魔法使いみたいじゃな。私達も魔法使いになれるかも!

博士、また面白いことをおっしゃいますね。でも、魔法使いになるには、まずトークナイザーを理解しないと。

むむ、それもそうじゃな。まずは勉強じゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。