# time lssrc -ls topsvcs |grep diskhb|grep vpath |awk '{print $4}' |sed "s/rvpath/vpath/g"
vpath0
real 0m0.36s
user 0m0.00s
sys 0m0.00s
# time lssrc -ls topsvcs | awk ' /diskhb/ && /vpath/ sub( /rvpath/, "vpath") {print $4}'
vpath0
real 0m0.20s
user 0m0.00s
sys 0m0.00s
Kis felhívás: Ezen blogbejegyzés csupán 2 célt szolgál:
- Megköszönni azon emberek tanácsát, akik felhívták rá a figyelmem, hogy igen is nem szabad megélegedni azzal a tudással amink van, mert bőven van még mit csiszolni rajta sok esetben
- Kis iránymutatás másoknak.. Hátha más hibájából képesek tanulni, ha már én nemtudtam időben :)
- Huncraft blogja
- A hozzászóláshoz be kell jelentkezni
- 1867 megtekintés
Hozzászólások
subscribe
- A hozzászóláshoz be kell jelentkezni
grep tobb kifejezesre: egrep '(foo|bar)'
awk '{print $4}' helyett: cut -f4 vagy cut -f4 -d " "
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
egrep jogos, de pont arról szól a post, hogy az ember mennyire tipikusan használ pipe-olást, ha már 1 dolgot tud.
cut-al amúgy nem értek egyet: Amennyiben nem szóköz delimiter már buktad is a dolgot ( mondjuk tab esetén ). Ilyen szempontból az awk mérföldekkel jobb.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
joh, de awk nem util, hanem programnyelv, ennyi erovel ruby-val is csinalhatnam
amugy nem a pipe draga, hanem a fork
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
Persze a probléma megoldható lett volna sima C-ben is (tekintve, hogy az awk-nak is elég C közeli nyelvezete van), de míg a legtöbb rendszer alaptelepítésében benne van az awk is - mint base shell scripting tool -, addig a gcc, vagy ruby nincs..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
A fork itt relative olcso, fork + execve kevesebb, mint 0.1 ms.
Lesz itt task valtas, meg tobb read/write rendszer hivas, ami miatt lassabb.
Ha pipe-olt elemek nagy CPU zabalok tobb magos rendszeren a pipe lehet gyorsabb, ha az osze pipolt dolgok csak egy magon kepsek dolgozni.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
OFF: Biztos lssrc kell ehhez, cltopinfo valamelyik opcioja nem jo?
- A hozzászóláshoz be kell jelentkezni
Nekem ez tűnt akkor a legegyszerűbbnek (a cél konkrétan a HeartBeat-hez használt vpath kikérése volt.. ) lehet amúgy cltopinfo-val is játszani, de nekem valahogy ez tűnt használhatóbbnak akkor.
Amúgy ma kb ugyan ez volt egy másik topic kapcsán, ahol azon filóztam, hogy a datapath query essmap-al kérjem le egy vpath ESSID-ját (SDD driver van a háttérben), vagy lsattr -El-el.. Elméletileg mind a 2 ugyan olyan jól használható a célra.. De ha van valami olyan érved, ami a cltopinfo mellett szól, akkor örömmel várom.
Szerk: Visszavonom - ezt amit akartam cltopinfo-val nem lehet kikérni, szóval bukó..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
A time nalad csak az lssrc-t meri, az awk-t vagy a grepet mar nem. Szoval ami idoket itt kaptal, az hulyeseg. Tessek fajlba tenni ezeket, es ugy megmerni time-mal.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Hát barátom.. Így aztán döntsük el, hogy jobban jártunk e :))))
# cat "/tmp/hrgy_check.sh"
lssrc -ls topsvcs |grep diskhb|grep vpath |awk '{print $4}' |sed "s/rvpath/vpath/g"
# cat "/tmp/hrgy_check2.sh"
lssrc -ls topsvcs | awk ' /diskhb/ && /vpath/ sub( /rvpath/, "vpath") {print $4}'
# time "/tmp/hrgy_check.sh"
vpath79
vpath78
real 0m0.20s
user 0m0.00s
sys 0m0.00s
# time "/tmp/hrgy_check2.sh"
vpath79
vpath78
real 0m0.21s
user 0m0.01s
sys 0m0.01s
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni