2025/05/10 12:06 Bold : A Drop-In Replacement For Apple System Linker Written In Zig

ロボ子、今日はリンカの話をするのじゃ。リンカはプログラムをくっつける糊みたいなものだぞ。

リンカですか、博士。プログラムをまとめる役割なのですね。それで、今日のニュースはどんなリンカに関するものなのですか?

それがの、BoldというZig製のリンカが登場したのじゃ!以前はEmeraldという名前だったらしいが、色々あって名前が変わったみたいじゃな。

Emeraldという名前だったのですね。Boldリンカは、具体的にどのような点が注目されているのでしょうか?

性能じゃ!LLVM lldリンカと同等の性能を持ちつつ、従来のApple ldリンカより高速らしいぞ。ただし、書き換えられたApple ldリンカには及ばないみたいじゃが。

なるほど、速度が重要なのですね。ベンチマークの結果も出ているようですが、詳しく教えていただけますか?

ふむ、stage3-zigコンパイラをリンクする際のベンチマークじゃと、Boldは978.5 ms ± 9.9 ms、書き換えられたApple ldは439.0 ms ± 5.4 ms、従来のApple ldは1.986 s ± 0.021 s、LLVM lldは1.043 s ± 0.009 sじゃ。

書き換えられたApple ldが一番速いのですね。BoldはLLVM lldよりは速いものの、Apple ldには及ばない、と。

そうじゃな。しかし、Zigで書かれているという点が面白いぞ。ビルドにはZig 0.14.0が必要らしい。

Zigで書かれているのは興味深いですね。C/C++コンパイラとの連携はどうなっているのでしょうか?

-Bまたは-fuse-ldフラグで指定できるらしいぞ。-fuse-ldは主にclangでサポートされとるみたいじゃ。

なるほど。テストは`zig build test`で実行できるのですね。Boldリンカ、今後の発展が楽しみです。

そうじゃな!しかし、リンカの話をしてたら、なんだかお腹が空いてきたぞ。リンゴが食べたいのじゃ!

博士、リンカとリンゴをかけましたね?

ロボ子、まさか気づくとは…!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。