2012-04-28 14 views
0

私はMac OS Xで非常に奇妙な状況に直面しています。 これは2つのMac(MacbookとMac Mini Server)で複製されました。Mac OSX上でRubyを実行すると、2つのディレクトリ間で奇妙な時間差が生じる

私は基本的に同じ2つの異なるディレクトリに同じルビーコードを実行しています。最初のディレクトリには実行時間が7秒、2番目のディレクトリに0.191があります。 2人の間には全く違いはありません。

[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 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> 

real 0m0.191s 
user 0m0.164s 
sys 0m0.023s 

が、よりあります。非既存のファイルを取得しても、簡単なRubyスクリプト2つのディレクトリに異なる動作します。それは同じ、同一のルビーバージョンのこの非常に不安定な動作の原因となることができますどのような

[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タグから2つの異なるディレクトリだけを見ることができるのと同じマシンです。私は別のMacで同じエラーを複製することができましたが、 "感染した"パス/ディレクトリは違っていますので、いくつかのディレクトリ/パスのように見えます。

+0

ディレクトリをチェックする順序を逆にするとどうなりますか?コードは何ですか?これまでのところ、どこかでキャッシュが行われていると思います。 –

+0

はい、キャッシュ可能性があります。また、〜/ Sitesには通常、index.htmlのようないくつかのファイルが含まれています。スクリプトがそのようなファイルを検索している場合は、おそらく〜/ Sitesディレクトリ内ですぐにそのファイルを検索しますが、別のディレクトリであきらめる前に網羅的な検索を実行する必要があります。 –

+0

スクリプトとは何ですか? – Reactormonk

答えて

1

KirkyBaseは、フォルダ内のすべてのテーブル(.tblファイル)を開きます。

いくつかのフォルダに大きなファイルがあり、それより小さいファイルまたは小さいファイルがある場合は、時間の違いを説明するかもしれません。

関連する問題