وحدة Ruby Benchmark: معاني "المستخدم" و "النظام" و "الحقيقي"؟
-
06-07-2019 - |
سؤال
تجربة الوحدة القياسية لروبي ...
>> Benchmark.bm(7) { |b| b.report('Report:') { s = '' ; 10000.times { s += 'a' } } }
user system total real
Report: 0.150000 0.010000 0.160000 ( 0.156361)
ما هي معاني "المستخدم" و "النظام" و "الحقيقي"؟
المحلول
هذه هي نفس الأوقات التي يونكس فيها time
سيبلغ الأمر أو غيرها من أدوات القياس النموذجية:
- المستعمل: مقدار الوقت الذي يقضيه تنفيذ رمز مساحة المستخدمين (أي: الرمز الخاص بك) ،
- النظام: مقدار الوقت الذي يقضيه تنفيذ رمز النواة و
- حقا: مقدار الوقت "الحقيقي" الذي استغرقته لتنفيذ الرمز (أي النظام + المستعمل + الوقت الذي يقضيه في انتظار I/O ، الشبكة ، القرص ، إدخال المستخدم ، إلخ). المعروف أيضا باسم "وقت وولوك".
نصائح أخرى
يرجى التحقق من هذه الأحجار الكريمة:https://github.com/igorkasyanchuk/benchmark_methods
لا مزيد من الكود مثل هذا:
t = Time.now
user.calculate_report
puts Time.now - t
الآن يمكنك أن تفعل:
benchmark :calculate_report # in class
واتصل فقط طريقتك
user.calculate_report
لا تنتمي إلى StackOverflow