Just to write this down somewhere... the adding paths and searching (as 
compared to just appending PATH=$PATH:/usr/bin:....) doesnt cost a lot of time.

### Running ":" 100k times as benchmark
$ time sh /tmp/my.sh "/my/random:/path:/here" : $(seq 1 100000)
/my/random:/path:/here

real    0m0.162s
user    0m0.133s
sys     0m0.032s


### Running ensure_sane_path 100k times.
$ time sh /tmp/my.sh "/my/random:/path:/here" ensure_sane_path $(seq 1 100000)
/my/random:/path:/here:/sbin:/usr/sbin:/bin:/usr/bin

real    0m0.586s
user    0m0.543s
sys     0m0.045s

### Run with a larger input path.
$ time sh /tmp/my.sh "$PATH" ensure_sane_path $(seq 1 100000)
/home/smoser/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/var/lib/snapd/snap/bin

real    0m0.635s
user    0m0.611s
sys     0m0.026s


So the cost of 100000 runs of ensure_sane_path is somewhere in the realm
of .5 seconds.  That is .000005 for the one run we'll do.

very small.

-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/345786
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:fix/1771382-ds-identify-ensure-sane-path into 
cloud-init:master.

_______________________________________________
Mailing list: https://launchpad.net/~cloud-init-dev
Post to     : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to