mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 16:21:39 +00:00
found one real slowdown, wc -c <<< $VAR is way slower than ${#VAR} branch one
This commit is contained in:
parent
fc5702f0ec
commit
783c9b04c2
29
inxi
29
inxi
|
@ -3,7 +3,7 @@
|
|||
#### Script Name: inxi
|
||||
#### Version: 2.0.0
|
||||
#### Date: 2014-03-12
|
||||
#### Patch Number: 01-b1
|
||||
#### Patch Number: 02-b1
|
||||
########################################################################
|
||||
#### SPECIAL THANKS
|
||||
########################################################################
|
||||
|
@ -166,6 +166,7 @@
|
|||
########################################################################
|
||||
#### Valuable Resources
|
||||
#### CPU flags: http://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean
|
||||
#### Advanced Bash: http://wiki.bash-hackers.org/syntax/pe
|
||||
#### gawk arrays: http://www.math.utah.edu/docs/info/gawk_12.html
|
||||
#### raid mdstat: http://www-01.ibm.com/support/docview.wss?uid=isg3T1011259
|
||||
#### http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array
|
||||
|
@ -2638,7 +2639,8 @@ print_lines_basic()
|
|||
b_indent_x='false'
|
||||
;;
|
||||
1) indent_full=$indent_main
|
||||
temp_count=$( wc -c <<< $2 )
|
||||
# temp_count=$( wc -c <<< $2 )
|
||||
temp_count=${#2}
|
||||
if [[ $temp_count -lt $indent_full ]];then
|
||||
indent_working=$indent_full
|
||||
else
|
||||
|
@ -2649,7 +2651,7 @@ print_lines_basic()
|
|||
# first left pad 2 and 3, then right pad them
|
||||
2) indent_full=$(( $indent_main + 6 ))
|
||||
indent_inner=3
|
||||
temp_count=$( wc -c <<< $2 )
|
||||
temp_count=${#2}
|
||||
if [[ $temp_count -lt $indent_inner ]];then
|
||||
indent_working=$indent_inner
|
||||
else
|
||||
|
@ -2660,7 +2662,7 @@ print_lines_basic()
|
|||
;;
|
||||
3) indent_full=$(( $indent_main + 8 ))
|
||||
indent_inner=3
|
||||
temp_count=$( wc -c <<< $2 )
|
||||
temp_count=${#2}
|
||||
if [[ $temp_count -lt $indent_inner ]];then
|
||||
indent_working=$indent_inner
|
||||
else
|
||||
|
@ -2671,7 +2673,7 @@ print_lines_basic()
|
|||
;;
|
||||
# for long options
|
||||
4) indent_full=$(( $indent_main + 8 ))
|
||||
temp_count=$( wc -c <<< $2 )
|
||||
temp_count=${#2}
|
||||
if [[ $temp_count -lt $indent_full ]];then
|
||||
indent_working=$indent_full
|
||||
else
|
||||
|
@ -2689,13 +2691,16 @@ print_lines_basic()
|
|||
line_count=$(( $line_width - $indent_full ))
|
||||
|
||||
# bash loop is so slow, only run this if required
|
||||
if [[ $( wc -c <<< $3 ) -gt $line_count ]];then
|
||||
# temp_count=$( wc -c <<< $3 )
|
||||
temp_count=${#3}
|
||||
if [[ $temp_count -gt $line_count ]];then
|
||||
for word in $3
|
||||
do
|
||||
temp_string="$print_string$spacer$word"
|
||||
spacer=' '
|
||||
# note: wc -c here will return +1 actual string length
|
||||
temp_count=$( wc -c <<< $temp_string )
|
||||
#temp_count=$( wc -c <<< $temp_string )
|
||||
temp_count=${#temp_string}
|
||||
if [[ $temp_count -lt $line_count ]];then
|
||||
print_string=$temp_string # lose any white space start/end
|
||||
# echo -n $(( $line_width - $indent_full ))
|
||||
|
@ -8730,7 +8735,8 @@ calculate_line_length()
|
|||
local string="$1"
|
||||
# ansi: [1;34m irc: \x0312
|
||||
string=$( sed -e "s/\x1b\[[0-9]\{1,2\}\(;[0-9]\{1,2\}\)\{0,2\}m//g" -e "s/\\\x0[0-9]\{1,3\}//g" <<< $string )
|
||||
count=$( wc -c <<< $string )
|
||||
# count=$( wc -c <<< $string )
|
||||
count=${#string}
|
||||
echo $count
|
||||
}
|
||||
|
||||
|
@ -9287,7 +9293,7 @@ print_cpu_flags_full()
|
|||
eval $LOGFS
|
||||
# note: sort only sorts lines, not words in a string, so convert to lines
|
||||
local cpu_flags_full="$( echo $1 | tr " " "\n" | sort )"
|
||||
local a_cpu_flags='' line_starter=''
|
||||
local a_cpu_flags='' line_starter='' temp_count=''
|
||||
local i=0 counter=0 max_length=85 max_length_minus=15 flag='' flag_data=''
|
||||
local line_length_max='' flag_feature='Flags'
|
||||
|
||||
|
@ -9305,8 +9311,9 @@ print_cpu_flags_full()
|
|||
else
|
||||
line_length_max=$max_length
|
||||
fi
|
||||
|
||||
if [[ $( wc -c <<< ${a_cpu_flags[$counter]} ) -gt $line_length_max ]];then
|
||||
# temp_count=$( wc -c <<< ${a_cpu_flags[$counter]} )
|
||||
temp_count=${#a_cpu_flags[$counter]}
|
||||
if [[ $temp_count -gt $line_length_max ]];then
|
||||
(( counter++ ))
|
||||
fi
|
||||
done
|
||||
|
|
Loading…
Reference in a new issue