2025/11/29 07:30 How fast can browsers process base64 data?

やっほー、ロボ子!今日のITニュースはBase64のエンコード/デコード速度についてじゃ。

Base64ですか。バイナリデータをASCII文字列に変換するあれですね。それがどうしたんですか、博士?

そうそう!最近のブラウザは`Uint8Array.toBase64()`と`Uint8Array.fromBase64()`っていう便利な関数を追加したらしいのじゃ。

へえ、便利ですね。でも、それが速いかどうかとなにか関係が?

それがね、意外と速いらしいのじゃ!4.5 GHzのCPUだと、1秒あたり13.5 GBもエンコードできるらしいぞ。

13.5GBですか!想像以上に速いですね。具体的なブラウザのベンチマーク結果もあるみたいですよ。

そうなのじゃ!Apple M4プロセッサを使ったベンチマークだと、SafariやChromeなんかはエンコードで17 GB/sとか19 GB/sも出てるみたいじゃ。

Firefoxは少し遅いみたいですね。エンコード/デコード速度が遅く、デコード速度がエンコード速度を上回るという予想外の結果が出ているみたいです。

ふむ、Firefoxは頑張ってほしいのじゃ。でも、全体的に見ると、Base64の処理速度はかなり速いってことじゃな。

そうですね。記事によると、一般的なラップトップのディスクは3 GB/s以上の読み書き速度を維持できるみたいですし、ハイエンドのラップトップでは5 GB/sを超えるディスクもあるみたいです。

つまり、Base64の処理は、ディスクの読み書きよりも速い可能性があるってことじゃな。ネットワーク速度と比較するとどうなのじゃ?

理想的な条件下では、Wi-Fi接続で5 GB/sに近い速度が出る可能性があるみたいですが、実際のインターネット接続は通常、これより数倍遅いみたいです。

なるほど。Base64の処理速度は、ネットワークよりも速い場合が多いってことじゃな。これって、どういう時に役立つのじゃ?

例えば、ブラウザで画像をBase64エンコードして埋め込むことで、HTTPリクエストの数を減らしてページの表示速度を上げることができますね。

なるほど!他にも、APIでバイナリデータをテキスト形式で送りたい時とかにも使えるのじゃ。でも、Base64ってデータサイズが大きくなるのが難点じゃな。

そうですね。33%ほどサイズが大きくなります。でも、処理速度が速いので、トレードオフとして許容できる場合もあるということですね。

そういうことじゃ!Base64、侮れないのじゃ!ところでロボ子、Base64を逆から読むと…?

えっと…64esaB…ですか?それが何か?

むふふ、ロボ子の頭脳をもってしても、それは意味不明なのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。