আমি system.time(expression)কোনও আর ফাংশনের জন্য মৃত্যুর সময় পরিমাপ করতে ব্যবহার করছি ।
আউটপুট আমি কল জন্য পেতে
system.time(myfunction())
হ'ল:
user system elapsed
117.36 5.65 127.86
'ব্যবহারকারী' এবং 'সিস্টেম' কী পরিমাপ করে?
আমি system.time(expression)কোনও আর ফাংশনের জন্য মৃত্যুর সময় পরিমাপ করতে ব্যবহার করছি ।
আউটপুট আমি কল জন্য পেতে
system.time(myfunction())
হ'ল:
user system elapsed
117.36 5.65 127.86
'ব্যবহারকারী' এবং 'সিস্টেম' কী পরিমাপ করে?
উত্তর:
এটি আলোচনা করা হয়েছে ?proc.time( system.time()শ্রেণীর একটি বস্তু ফেরত দেয় "proc.time"):
Details:
‘proc.time’ returns five elements for backwards compatibility, but
its ‘print’ method prints a named vector of length 3. The first
two entries are the total user and system CPU times of the current
R process and any child processes on which it has waited, and the
third entry is the ‘real’ elapsed time since the process was
started.
....এবং
Value:
....
The definition of ‘user’ and ‘system’ times is from your OS.
Typically it is something like
_The ‘user time’ is the CPU time charged for the execution of user
instructions of the calling process. The ‘system time’ is the CPU
time charged for execution by the system on behalf of the calling
process._
স্পষ্ট ব্যাখ্যা আমি কখনো মধ্যে পার্থক্য উপর পড়েছি userএবং systemঅতিবাহিত সময় সরবরাহ করেছিল [আর-সাহায্যের] এ উইলিয়াম মধ্যে Dunlap :
"ইউজার সিপিইউ সময়" বর্তমান প্রক্রিয়া (যেমন, বর্তমান আর সেশন) দ্বারা ব্যয় করা সিপিইউ সময় দেয় এবং "সিস্টেম সিপিইউ সময়" বর্তমান প্রক্রিয়ার পক্ষে কর্নেল (অপারেটিং সিস্টেম) দ্বারা ব্যয় করা সিপিইউ সময় দেয়। অপারেটিং সিস্টেমটি ফাইল খোলা, ইনপুট বা আউটপুট করা, অন্যান্য প্রক্রিয়াগুলি শুরু করা, এবং সিস্টেমের ঘড়ির দিকে নজর দেওয়া ইত্যাদির জন্য ব্যবহৃত হয়: অনেকগুলি প্রক্রিয়া ভাগ করে নিতে হবে এমন সংস্থানগুলির সাথে জড়িত এমন ক্রিয়াকলাপ operations
যদিও ?proc.timeকিছু অনুরূপ ফেরত দেয়, এই বর্ণনাটি আমার পক্ষে বোঝা অনেক সহজ ছিল।
এখানে কিছু সহজ ব্যাখ্যা দেওয়া হল:
অতিবাহিত সময় হল সিপিইউগুলিতে অভিব্যক্তির জন্য চার্জ করা সময়।
ব্যবহারকারীর সময় হল প্রাচীরের ঘড়ির সময়। আপনি হিসাবে ব্যবহারকারী হিসাবে অভিজ্ঞতা সময়।
সাধারণত উভয় সময় তুলনামূলকভাবে কাছাকাছি হয়। তবে এগুলি অন্য কয়েকটি পরিস্থিতিতে পরিবর্তিত হতে পারে। উদাহরণ স্বরূপ:
এগুলি যেহেতু জেনেরিক তাই উইকিপিডিয়া থেকে:
'ব্যবহারকারী সিপিইউ সময়' শব্দটি প্রথমে কিছুটা বিভ্রান্তিকর হতে পারে। পরিষ্কারভাবে বলতে গেলে, মোট সময় (আসল সিপিইউ সময়) সিপিইউ কোনও প্রোগ্রামের জন্য কিছু ক্রিয়া সম্পাদন করতে ব্যয় করে এবং সিপিইউ কার্য সম্পাদনকারী সিস্টেমে যে পরিমাণ সময় ব্যয় করে প্রোগ্রামটির পক্ষ থেকে কার্নেলের জন্য কল করে তার সংমিশ্রণ। যখন কোনও প্রোগ্রাম একটি অ্যারের মাধ্যমে লুপ করে, এটি ব্যবহারকারীর সিপিইউ সময় জমে থাকে। বিপরীতভাবে, যখন কোনও প্রোগ্রাম একটি সিস্টেম কল যেমন এক্সিকিউট বা কাঁটাচামচ চালায় তখন এটি সিস্টেমের সিপিইউ সময় জমে থাকে।
http://en.wikedia.org/wiki/Time_(Unix)#User_Time_vs_System_Time
যেহেতু সেই সময়ের চলকগুলি আপনার ওএস দ্বারা সংজ্ঞায়িত করা হয়েছে, আপনি man timeআপনার শেল (ইউনিক্সে) চালিয়ে কীভাবে সেগুলি গণনা করা হয় সে সম্পর্কে আপনি তথ্য পুনরুদ্ধার করতে পারেন :
... এই পরিসংখ্যানগুলির মধ্যে (i) প্রার্থনা এবং সমাপ্তির মধ্যে অতিবাহিত প্রকৃত সময়, (ii) ব্যবহারকারীর সিপিইউ সময় (2 (2)) দ্বারা প্রদত্ত হিসাবে একটি কাঠামো tms এর মান
tms_utimeএবংtms_cutimeমানগুলির যোগফল , এবং (iii) নিয়ে গঠিত সিস্টেম সিপিইউ সময় ( স্ট্রাক্ট টিএমএসের সংখ্যার যোগফলtms_stimeএবংtms_cstime2 (2) হিসাবে ফেরত)।
উল্লিখিত সময়ের ভেরিয়েবলগুলির সংজ্ঞা এখানে পাওয়া যাবে :
tms_utimeব্যবহারকারী সিপিইউ সময়।
tms_stimeসিস্টেম সিপিইউ সময়।
tms_cutimeসমাপ্ত শিশু প্রক্রিয়াগুলির ব্যবহারকারীর সিপিইউ সময়।
tms_cstimeসমাপ্ত শিশু প্রক্রিয়াগুলির সিস্টেম সিপিইউ সময়।
ব্যবহারকারী এবং সিস্টেম সময়ের মধ্যে পার্থক্যের একটি ব্যাখ্যা দারোকজিগের উত্তরে এবং অন্য কোথাও এসওতে বর্ণিত হয়েছে :
tms_utimeউপাদান আপনার কোড নির্বাহ সময় অতিবাহিত পরিমাণ, বা C লাইব্রেরিতে কোড।tms_stimeউপাদান সময় পরিমাণ কার্নেল আপনার পক্ষ থেকে কোড নির্বাহ অতিবাহিত হয়।