루비 벤치 마크 모듈 : "사용자", "시스템"및 "실제"의 의미?
-
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, 네트워크, 디스크, 사용자 입력 등을 기다리는 시간). "WallClock Time"이라고도합니다.
다른 팁
이 보석을 확인하십시오 :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