« Yash 2 その 288: パス名展開結果の順序 | トップページ | Yash 2 その 290: バージョン 2.51 リリース »

2020年11月16日 (月)

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 個づつ並べてあって、単語は最終的に変化しない。
  • : {{{...{{{,}}}...}}} も括弧の数は同様だが一つだけある {,} のため単語は二つに展開される

リリースはたぶん年内。

 

|

« Yash 2 その 288: パス名展開結果の順序 | トップページ | Yash 2 その 290: バージョン 2.51 リリース »

コメント

コメントを書く



(ウェブ上には掲載しません)




« Yash 2 その 288: パス名展開結果の順序 | トップページ | Yash 2 その 290: バージョン 2.51 リリース »