We've observing a *severe* performance regression between ksh 2010-03-05 and 2013-10-08 on Solaris 11, AMD64, LANG is en_US.UTF-8:
# prepare $ timex seq 1400000 >xxx # run new ksh $ timex ~/bin/ksh -c 'function nanosort { typeset -A a ; integer k=0; while read i ; do key="$i$((k++))" ; a["$key"]="$i" ; done ; printf "%s\n" "${a[@]}" ; } ; print "${.sh.version}" ; nanosort <xxx >yyy' Version AIJMP 93v- 2013-10-08 real 32.59 user 32.19 sys 0.30 # run old ksh - much faster $ timex /bin/ksh -c 'function nanosort { typeset -A a ; integer k=0; while read i ; do key="$i$((k++))" ; a["$key"]="$i" ; done ; printf "%s\n" "${a[@]}" ; } ; print "${.sh.version}" ; nanosort <xxx >yyy' Version JM 93t+ 2010-03-05 real 14.59 user 13.92 sys 0.56 Can anyone explain this? IO-wise the new ksh is better but consumes much more CPU time, while the old ksh issues more IO requests but consumes only half as much CPU time. Lionel _______________________________________________ ast-developers mailing list ast-developers@lists.research.att.com http://lists.research.att.com/mailman/listinfo/ast-developers