Hi Sean, V ?t, 09. 07. 2009 v 15:21, Sean McGrath p??e: > Hi folks, > > With the coming ksh93 update 2 and it replacing several commands > like wc, tail, head, join etc. Theres a need to have a benchmark > to measure at least before and after ksh93 update 2 change. > > Roland and I were talking on irc last night about this. We'll need > to figure out a decent method of benchmarking these commands. >
How is it possible that Roland discovers the responsible people everytime? :-) > So within the next few days we hope to work out a method for benchmarking > ksh93 > This hopefully is a start of that discussion, rather than blindly writing > adhoc timing scripts.. > > One way, suggested by Roland could be: > > cmd = mkdir: > > timex ksh93 -c 'rmdir "xyz" >/dev/null ; \ > for ((i=0 ; i < 1000 ; i++)) ; do /bin/mkdir -p "xyz" ; done' > > that would benchmark the on disk mkdir. To use the builtin ksh93's mkdir, > just remove the '/bin/' > > timex ksh93 -c 'rmdir "xyz" >/dev/null ; \ > for ((i=0 ; i < 1000 ; i++)) ; do mkdir -p "xyz" ; done' > Do not test it as ksh93 command, but through the wrapper. So not ksh93 -c 'tail', but /usr/bin/tail. That is the real impact. > Another method, using the above example could be to see how many times > mkdir got called in a given time period. > The same amount of commands is good enough. Probably several times. > Other than basic benchmarking the environment too can be measured, i.e. > the locale can have an impact, e.g. LC_ALL=C and LC_ALL=en_US.UTF-8 > +1 > So too to be looked at is the datasize used with commands, eg > tail -X on a large or small file. Small being about 256k or so and > large being at least 1GB. > +1 File bigger than RAM should be good. > For starters is there a definite list of those command we'd want to > look at ? i.e. those being replaced by ksh93. > I think the the list is definitive and you can find it here (in Notes): http://www.opensolaris.org/os/project/ksh93-integration/downloads/2009-07-02/ Optimal thing would be to test not only those which are replaced now, but also those which are already replaced and updated by this update. Only usr/bin/print is new command, so we do not need to test it. For testing all internal ksh93 commands, I would say no for now. It can be separate project, to do complete ksh93 benchmarking. But we should concentrate on update 2 for now. Best regards, Milan