On Fri, 2014-10-03 at 09:20 -0700, Russ Allbery wrote: > Russell Stuart <russell-deb...@stuart.id.au> writes: > > I looks to me like you are re-writing history. > > I'm not sure how you meant this, but to note, this sentence made me very > sad, since it felt like you believe I'm being intentionally dishonest with > you. I'm really not, although I'm not sure how to convince you of that.
You convinced me I was wrong a few sentences later. > I thought that's what you were getting at when talking about > testing Not really. I'm about documentation reflecting reality. Think of putting an electrical component whose documentation says its 200 degrees on a motherboard, only to find it fails at 190. When you ask why, is "well we design it for 200, but only test it to 180" a satisfying answer? You have convinced me that in this case it's going to have to be that way, so my prejudices notwithstanding. I've rationalised the pain away by deciding it's no so bad as any competent programmer could see that is it only tested to 190 regardless of what the standards say. > Oh! I didn't realize or internalize that you were proposing switching the > default shell to posh from dash. Yes, that would certainly improve our > compliance with Policy considerably. It's attractive because makes Policy more relevant - but only because of that. Now that I think about it, switching pbuilder to posh would be almost as good. Any additional pain would not be worth the effort. If Debian was going to switch to another shell, I'd vote for the one in busybox. That's because on desktop machines it doesn't matter, but on embedded architectures it does - and they use busybox. So switching to busybox would extend Debian's reach. > If the speed is comparable Here are two benchmarks. I did others. These demonstrate the extremes: $ time dash -c 'i=0; while [ $i -lt 10000000 ]; do echo -n; i=$(($i + 1)); done' real 0m16.695s user 0m16.684s sys 0m0.000s $ time posh -c 'i=0; while [ $i -lt 10000000 ]; do echo -n; i=$(($i + 1)); done' real 0m41.899s user 0m41.872s sys 0m0.000s $ time busybox sh -c 'i=0; while [ $i -lt 10000000 ]; do echo -n; i=$(($i + 1)); done' real 0m27.938s user 0m25.160s sys 0m2.760s $ time bash -c 'i=0; while [ $i -lt 10000000 ]; do echo -n; i=$(($i + 1)); done' real 1m7.971s user 1m7.928s sys 0m0.000s $ time dash -c 'x="aaaaaaaaaaaaaaa"; t() { local x=$1; echo $x; }; while [ "${x%b}" = "${x}" ]; do y=; while :; do z="${x#b}"; [ "$z" != "$x" ] || break; y=a$y x=$z; done; x=$(t ${y}b${x#a}); done' real 0m1.577s user 0m0.204s sys 0m0.500s $ time posh -c 'x="aaaaaaaaaaaaaaa"; t() { local x=$1; echo $x; }; while [ "${x%b}" = "${x}" ]; do y=; while :; do z="${x#b}"; [ "$z" != "$x" ] || break; y=a$y x=$z; done; x=$(t ${y}b${x#a}); done' real 0m2.232s user 0m0.316s sys 0m0.536s $ time busybox sh -c 'x="aaaaaaaaaaaaaaa"; t() { local x=$1; echo $x; }; while [ "${x%b}" = "${x}" ]; do y=; while :; do z="${x#b}"; [ "$z" != "$x" ] || break; y=a$y x=$z; done; x=$(t ${y}b${x#a}); done' real 0m2.104s user 0m0.284s sys 0m0.516s $ time bash -c 'x="aaaaaaaaaaaaaaa"; t() { local x=$1; echo $x; }; while [ "${x%b}" = "${x}" ]; do y=; while :; do z="${x#b}"; [ "$z" != "$x" ] || break; y=a$y x=$z; done; x=$(t ${y}b${x#a}); done' real 0m4.849s user 0m0.892s sys 0m0.740s $ It looks like moving to dash sped Debian up a little.
signature.asc
Description: This is a digitally signed message part