2012-04-28 1 views
0

나는 Mac OS X에서 매우 이상한 상황에 직면하고있다. 이것은 두 대의 Mac (Macbook 및 Mac Mini Server)에서 복제되었다.Mac OSX에서의 Ruby 실행 2 개의 디렉토리 사이의 거대하고 기묘한 시간차

본질적으로 두 개의 다른 디렉토리에서 동일하고 동일한 루비 코드를 실행하고 있습니다. 첫 번째 디렉토리에는 실행 시간이 7 초이고 두 번째 디렉토리는 0.191입니다. 둘 사이에는 전혀 차이가 없습니다.

[email protected] ~£ time ruby sb2.rb 
#<struct recno=2001, name="Amazon", ticker="MPS", tradeprice=185.5, tradedate="2012-04-  28", quantity=45, totalposition=8347.5> 
real 0m0.191s 
user 0m0.164s 
sys 0m0.023s 

real 0m7.775s 
user 0m7.160s 
sys 0m0.612s 


[email protected] ~/Sites£ time ruby sb2.rb 
#<struct recno=2001, name="Amazon", ticker="MPS", tradeprice=185.5, tradedate="2012-04-  28", quantity=45, totalposition=8347.5> 

하지만 더있다. 그것은이 매우 이상한 행동의 원인이 될 수있는 것 같은 동일한 루비 버전

[email protected] ~£ time ruby sb3.rb 
/Users/spider/.rvm/gems/ruby-1.9.3-p125/gems/KirbyBase-2.6.1/lib/kirbybase.rb:520:in  `get_table': Table not found! (RuntimeError) 
from sb3.rb:8:in `<main>' 

real 0m7.885s 
user 0m7.240s 
sys 0m0.642s 


[email protected] ~/Sites£ time ruby sb3.rb 
/Users/spider/.rvm/gems/ruby-1.9.3-p125/gems/KirbyBase-2.6.1/lib/kirbybase.rb:520:in `get_table': Table not found! (RuntimeError) 
from sb3.rb:8:in `<main>' 

real 0m0.183s 
user 0m0.156s 
sys 0m0.023s 

를 사용하고 있음을 주목하라 : 심지어 아닌 기존 파일을 가져 오는 간단한 루비 스크립트는 두 디렉토리에서 다른 행동? 다시 이것은 bash 태그에서 볼 수있는 것과 똑같은 시스템입니다. 다른 Mac에서 같은 오류를 복제 할 수 있지만 "감염된"경로/디렉토리가 다르므로 일부 디렉토리/경로가이 루비를 느리게 실행 지연으로 지연시키는 것처럼 보입니다.

+0

디렉토리를 확인하는 순서를 바꾸면 어떻게됩니까? 코드가 뭐니? 지금까지 나는 어딘가에 어떤 캐싱이 진행되고 있다고 생각할 것입니다. –

+0

예, 캐싱이 가능합니다. 또한 ~/Sites에는 일반적으로 index.html과 같은 일부 파일이 포함되어 있습니다. 스크립트가 그러한 파일을 검색하는 중이면 아마 ~/Sites 디렉토리에서 즉시 발견하지만 다른 디렉토리에서 포기하기 전에 철저한 검색을 수행해야합니다. –

+0

스크립트 란 무엇입니까? – Reactormonk

답변

1

KirkyBase는 폴더의 모든 테이블 (.tbl 파일)을 엽니 다.

일부 폴더에는 더 큰 파일이 있고 다른 파일에는 더 작거나 더 작은 파일이 있으면 시간의 차이를 설명 할 수 있습니다.

관련 문제