문제

루비의 벤치 마크 모듈 실험 ...

>> 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top