bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Unexpected delay in using arguments.


From: Bize Ma
Subject: Unexpected delay in using arguments.
Date: Sun, 12 Aug 2018 03:16:34 -0400

Try this script:

    #!/bin/bash
    TIMEFORMAT='%R'

    n=1000
    m=20000

    f1   () { :; }

    f2   () { i=0;  time while [ "$((i+=1))" -lt "$n" ]; do     :    ; done
          i=0;  time while [ "$((i+=1))" -lt "$n" ]; do     f1    ; done
        }

    test1() { set -- $(seq $m)
          f2  ""
          f2 "$@"
        }
    test1

To get:

      0.019
      0.028
      0.019
    19.204

Which is a thousand times slower.
Bash 5 is even worse, try:

        time b50sh -c 'f(){ :;};for i do f; done' {0..500}

        real    0m20.709s
        user    0m19.856s
        sys     0m0.024s

Read more detail here:
https://unix.stackexchange.com/questions/462084/bash-has-troubles-using-argument-lists


reply via email to

[Prev in Thread] Current Thread [Next in Thread]