وحدة Ruby Benchmark: معاني "المستخدم" و "النظام" و "الحقيقي"؟

StackOverflow https://stackoverflow.com/questions/1616269

  •  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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top