Yash 2 その 289: extendedglob と braceexpand の高速化
ここ数箇月でいろいろ弄ってまあまあ速くなったので成果をまとめておく。
まづは extendedglob の速度 (所要時間の秒数):
| コマンド | 新 yash | yash-2.50 | ksh 2020.0.0 | zsh-5.8 |
|---|---|---|---|---|
: /**/sh |
0.6 | 0.6 | 0.6 | 0.6 |
: /**/*sh* |
0.7 | 0.7 | 0.8 | 0.8 |
: /**/**/sh |
0.9 | 3.3 | 0.7 | 3.5 |
: /**//**/sh |
2.1 | 2.9 | 2.0 | 43 |
: /**/*s*/**/sh |
2.1 | 2.9 | 2.0 | 43 |
次は braceexpand の速度:
| コマンド | 新 yash | yash-2.50 | ksh 2020.0.0 | zsh-5.8 |
|---|---|---|---|---|
: {,}{,}{,}...{,} |
2.9 | 6.7 | 2.4 | 2.1 |
: {{{...{{{}}}...}}} |
0.01 | 54 | 0.02 | 8.8 |
: {{{...{{{,}}}...}}} |
0.01 | 161 | 0.02 | 9.1 |
: {,}{,}{,}...{,}は{,}が 24 個並べてあって、単語は最終的に 16777216 個の空文字列に展開される: {{{...{{{}}}...}}}は{と}が 131072 個づつ並べてあって、単語は最終的に変化しない。: {{{...{{{,}}}...}}}も括弧の数は同様だが一つだけある{,}のため単語は二つに展開される
リリースはたぶん年内。
| 固定リンク

コメント