පර්යන්ත ක්‍රියාවලියක ක්‍රියාත්මක කාලය මැනිය හැක්කේ කෙසේද?


175

විධාන රේඛාව හරහා මා අමතන ක්‍රියාවලියක ක්‍රියාත්මක වීමේ කාලය මැනීමට මම උත්සාහ කරමි (එනම්, ක්‍රියාවලිය අවසන් වීමට කොපමණ කාලයක් ගතවේදැයි සොයා ගැනීමට මට අවශ්‍යය). මෙය සාක්ෂාත් කරගත හැකි ක්‍රියාවලිය කැඳවීමේ විධානයට මට එකතු කළ හැකි විධානයක් තිබේද?

Answers:


217

timeඔබට මැනීමට අවශ්‍ය විධානයට පෙර එක් කරන්න . උදාහරණයක් ලෙස : time ls.

ප්‍රතිදානය මෙසේ වනු ඇත:

real    0m0.606s
user    0m0.000s
sys     0m0.002s

මත පැහැදිලි කිරීමක් real, userසහ sys(සිට man time):

  • real: ක්‍රියාවලිය මඟින් භාවිතා කරන ලද තාත්වික (බිත්ති ඔරලෝසුව) කාලය තත්පර කිහිපයකින්.
  • user: ක්‍රියාවලිය කෙලින්ම භාවිතා කළ CPU- තත්පර ගණන (පරිශීලක ප්‍රකාරයේදී) තත්පර කිහිපයකින්.
  • sys: ක්‍රියාවලිය වෙනුවෙන් පද්ධතිය විසින් භාවිතා කරන ලද මුළු CPU- තත්පර ගණන (කර්නල් ප්‍රකාරයේදී) තත්පර කිහිපයකින්.

1
@ninjalj, ඔබ කුමක් පිළිබඳ වැඩි තොරතුරු ලබා දිය හැකිය real, userසහ sysවතාවක් මෙම විධානය ප්රතිලාභ බව ද?
ක්‍රිස්ටෝපර් කයිල් හෝර්ටන්

2
AJacobVlijm මෙම පිළිතුර එතරම් විස්තීර්ණ නොවේ. :) ඔබේ අදහස් දැක්වීමේදී ඔබට එය සංස්කරණය කළ හැකිය.
මුරු

1
ඔබ ගොඩනඟන sudo apt-get install timeලද කවචයක් භාවිතා කරන්නේ නම් ඔබට අවශ්‍ය විය හැකි බව සලකන්න time.
පූලි

1
මෙම බෑෂ් සිට මේ දක්වා නිෂ්පාදනය වන බව සටහන timebuiltin, නමුත් man time(වැනි ක්රියාකාරී ගැන වනු ඇත /usr/bin/timeසිට, timeඇසුරුම්), සහ එහි ප්රතිදානය වෙනස් බලයි. Bash හි ද, ඔබට help timeබිල්ඩින් සමඟ උදව් සඳහා ධාවනය කළ හැකිය .
wjandrea

ක්‍රියාවලි අවසානය සියලු වැඩ අවසන් වූ බවක් අදහස් නොකරන බව සලකන්න. පද්ධති බෆරයන් ගලායාම සඳහා "කාලය" නැවත පැමිණීමෙන් පසු පිටපතක් සඳහා අමතර මිනිත්තු කිහිපයක් ගතවනු ඇත (ඒ සඳහා වෙන් නොකළ sys කාලය සමඟද).
ubfan1

47

රේඛීයව ඩෙල්ටා මැනීම සඳහා, gnomon උත්සාහ කරන්න .

වෙනත් විධානයක සම්මත නිමැවුමට කාලරාමු තොරතුරු සකස් කිරීම විධාන රේඛා උපයෝගීතාවයකි. මෙතරම් කාලයක් ගතවන දේ පිළිබඳ record තිහාසික වාර්තාවක් ඔබ කැමති දිගුකාලීන ක්‍රියාවලීන් සඳහා ප්‍රයෝජනවත් වේ.

Gnomon වෙත ඕනෑම දෙයක් පයිප්ප කිරීම මඟින් එක් එක් පේළියට කාලරාමුව සකස් කරනු ඇත, එමඟින් එම රේඛාව බෆරයේ අවසාන පේළිය කොපමණ වේලාවක්ද යන්න පෙන්නුම් කරයි - එනම් ඊළඟ පේළිය දර්ශණය වීමට කොපමණ කාලයක් ගතවේද යන්න. පෙරනිමියෙන්, එක් එක් පේළිය අතර ගත වූ තත්පර ගණන gnomon මඟින් පෙන්වනු ඇත, නමුත් එය වින්‍යාසගත කළ හැකිය.

gnomon demo


4
මේක හරිම සිනිඳුයි.
නේතන් ආතර්

1
(අක්ෂර වින්‍යාසය, වාසනාවකට URL හරි). ඔබට sudo npm i gnomon -gඇත්නම් එය ස්ථාපනය කළ හැකිය npm. '\ R' (එකම රේඛාවෙහි රැඳී සිටීම) භාවිතා කරමින් "ප්‍රගති" රේඛාවලට එරෙහිව එය කෙතරම් හොඳින් ක්‍රියා කරයිදැයි විශ්වාස නැත: එවැනි අවස්ථාවක දී මම එය සියල්ලම එක දිග රේඛාවක් ලෙස ගණන් කිරීමට කැමැත්තෙමි, වෙනම ඒවා නොවේ.
ටොමාස් ගන්ඩෝර්

ඉතින් අපි ඒක ග්නොමොන් වලට නල කරනවා! ඒක තමයි ?
Ciasto piekarz


9
date +"%T" && cp -r ./file  /destination/folder/here && date +"%T"

මෙම විධානය පර්යන්තය තුළ ක්‍රියාත්මක කිරීමෙන් ඔබට ගොනුවක් සමඟ කටයුතු කිරීමට ගතවන කාලය ලැබේ


මෙය ඔබට ආරම්භක වේලාව සහ අවසාන කාලය ලබා දෙනු ඇත, කාල සීමාව නොවේ.
wjandrea

සමහර තත්වයන් යටතේ මෙය හොඳ පිළිතුරකි. උදාහරණයක් ලෙස, පහත දැක්වෙන findවිධානය - 2>/dev/nullයළි-යොමුවීමකින් තොරව - විශාල Permission denied පණිවිඩ ලබා දෙයි . කෙසේ වෙතත්, 2>/dev/nullඑම විධානයට එකතු කිරීමෙන් එම විධානයේ timeකොටස බිඳී යයි . පහත දැක්වෙන්නේ හොඳ සම්මුතියක් සපයයි:, START="$(date +"%s")" && find 2>/dev/null / -path /mnt -prune -o -name "*libname-server-2.a*" -print; END="$(date +"%s")"; TIME="$((END - START))"; printf 'find command took %s sec\n' "$TIME"ලබා දීම (උදා) /usr/lib/libname-server-2.a find command took 3 sec එකම ප්‍රතිදානය ලෙස.
වික්ටෝරියා ස්ටුවර්ට්

මගේ අදහස් දැක්වීමට අතිරේකයක්: ඇත්ත වශයෙන්ම, ඔබට සරලව ධාවනය කළ හැකිය time sudo find / -path /mnt -prune -o -name "*libname-server-2.a*" -print(එනම්, ලෙස sudo) - එම Permission deniedඅනතුරු ඇඟවීම් මඟහරවා ගැනීම .
වික්ටෝරියා ස්ටුවර්ට්

5

ඉඳහිට මගේ යෙදුම ආරම්භ කිරීම වැනි ක්‍රියාවක් සඳහා කොපමණ කාලයක් ගතවේදැයි ගණනය කිරීම සඳහා නැවතුම් ඔරලෝසුවක් අවශ්‍ය බව මට පෙනී යයි, මෙහිදී මෙහි ඇති විසඳුම් බොහොමයක් ප්‍රයෝජනවත් නොවේ.

මේ සඳහා මම sw භාවිතා කිරීමට කැමතියි .

sw

ස්ථාපනය කරන්න

wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw

භාවිතය

sw
 - start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
 - start a stopwatch from the last saved start time (or current time if no last saved start time exists)
 - "-r" stands for --resume


0

1) bashrc ගොනුව විවෘත කරන්න

gedit ~\.bashrc

2) පහත පා text ය සොයා ගන්න:

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] :\[\033[01;34m\]\w\[\033[00m\]\$ ' 

3) සහ ආදේශ කරන්න:

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\] [\d|\t]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 

4) පරීක්ෂා කිරීම සඳහා පර්යන්තය නැවත ආරම්භ කරන්න.

පර්යන්තයේ නියැදි ප්‍රතිදානය

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.