help-bash
[Top][All Lists]
Advanced

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

Which is faster `[[ -v x[k] ]]` vs `[[ ${x[k]} ]]`?


From: Peng Yu
Subject: Which is faster `[[ -v x[k] ]]` vs `[[ ${x[k]} ]]`?
Date: Sun, 27 Oct 2019 18:58:22 -0500

Hi,

I am confused about which one is faster `[[ -v x[k] ]]` vs `[[ ${x[k]}
]]`. Depending on how long it runs, it seems the runtime comparison
results are different. Why? Which one is supposed to be faster?

$ ./main_z.sh
TIMEFORMAT=%R
declare -A x
time for ((i=0;i<100000;++i)); do
        [[ -v x[k] ]]
done
0.770
time for ((i=0;i<100000;++i)); do
        [[ ${x[k]} ]]
done
0.725
time for ((i=0;i<1000000;++i)); do
        [[ -v x[k] ]]
done
7.968
time for ((i=0;i<1000000;++i)); do
        [[ ${x[k]} ]]
done
8.654
$ cat main_z.sh
#!/usr/bin/env bash
# vim: set noexpandtab tabstop=2:

set -v
TIMEFORMAT=%R
declare -A x
time for ((i=0;i<100000;++i)); do
        [[ -v x[k] ]]
done
time for ((i=0;i<100000;++i)); do
        [[ ${x[k]} ]]
done
time for ((i=0;i<1000000;++i)); do
        [[ -v x[k] ]]
done
time for ((i=0;i<1000000;++i)); do
        [[ ${x[k]} ]]
done


-- 
Regards,
Peng



reply via email to

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