basE91 vs Base64 簡易ベンチマーク
1 min read
Version
詳しくは 'base64 --help' を実行して下さい。
alleycat:[haturatu]:~$ base64 --version
base64 (GNU coreutils) 9.5
Copyright (C) 2024 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
作者 Simon Josefsson。
alleycat:[haturatu]:~$ base91 --version
base91 0.6.0
Copyright (c) 2000-2006 Joachim Henke
Benchmark
超簡易的なもの
alleycat:[haturatu]:~$ time for i in {1..10000}; do echo "test" | base91 ; done > 91
real 0m11.381s
user 0m10.460s
sys 0m5.118s
alleycat:[haturatu]:~$ time for i in {1..10000}; do echo "test" | base64 ; done > 64
real 0m11.985s
user 0m10.787s
sys 0m5.219s
alleycat:[haturatu]:~$ time for i in {1..10000}; do echo "test" | base91 ; done > 91
real 0m11.569s
user 0m10.640s
sys 0m5.071s
alleycat:[haturatu]:~$ time for i in {1..10000}; do echo "test" | base64 ; done > 64
real 0m11.864s
user 0m10.725s
sys 0m5.189s
経緯
メーリングリストアーカイブに以下のようなものを見つけたので
Bug#706078: ITP: base91 -- base91 encoder/decoder
It amounts at most to 23% (versus 33% for base64) and can range down to 14%, which typically occurs on 0-byte blocks. This makes basE91 very useful for transferring larger files over binary insecure connections like e-mail or terminal lines.
検証・・・になっているかな・・・。
みんな大好きなおまけコーナー。
割とブラウザでシンプルにbasE91が生成出来るものがなかった。。。ので basE91 Encode/Decode