필자는 항상 1.9.x가 REE보다 빠르지 만 더 많은 메모리를 소비한다고 생각했습니다. 그러나 최근에 나와 지적했듯이 REE는 RSpec 사양을 실행하는 것보다 실제로 빠르며 큰 차이가 있습니다. RSpec을 실행할 때 REE가 1.9.3보다 빠른 이유는 무엇입니까?
$ rvm use ree
$ rvm gemset create sandbox
$ rvm gemset use sandbox
$ gem install rspec
$ time rspec foo_spec.rb
No examples found.
Finished in 0.07346 seconds
0 examples, 0 failures
real 0m0.104s
user 0m0.059s
sys 0m0.015s
및 1.9.3와 같은 일을하고 이후
, 나는 빈 사양 파일에서만rspec
및 실행을 포함, 빈 gemset으로 두 배의
$ time rspec foo_spec.rb
No examples found.
Finished in 0.13922 seconds
0 examples, 0 failures
real 0m0.208s
user 0m0.122s
sys 0m0.022s
을 얻고있다. 여러 개의 보석을 포함하는 보석 세트에서 더 큰 차이를 보았습니다.
왜 이런 일이 일어나고 있습니까? 1.9.3이 현재 사용할 수있는 가장 빠른 버전이 아닌 이유는 무엇입니까?
OS X Lion의 RVM을 통해 설치된 최신 버전을 실행하고 있습니다.
유용한 작업에서 실제 속도가 아니라 시작 시간 만 측정합니다. 대신 유용한 벤치 마크 결과를 얻기 위해 코드와 일치하는 좀 더 복잡한 것을 선택하십시오. –
또한 파일 시스템 캐싱에주의하십시오. 더 정확한 결과를 얻으려면 각 테스트를 20 회 연속 실행하고 마지막 15 회 실행의 중앙값을 취하십시오. – phs
@phs yes 파일 시스템 캐싱에 대해 알고 있지만 파일을 바꿀 때 다시 실행하기 때문에 테스트가 처음 실행될 때 문제가 발생합니다. –