2013-03-14 6 views
5

私はこのことをなぜ行うのか私の指を置くことはできませんが、数日の助けが必要です。インライン(機能の選択、「help for」の選択)、またはコマンドdocまたはhelpを使用してください。コマンドdoc cmdnameは、ヘルプウィンドウを表示するのに約10秒かかります。私は、一例としてfwriteを取って、profile on;doc fwrite;profile viewerを試してみて、私は永遠に取っている民間のjava MATLAB法に到着したウサギの穴を掘りました:Matlabヘルプ、docコマンドが非常に遅い

tic; 
com.mathworks.mlwidgets.help.HelpUtils.getDocCommandArg('matlab\fwrite', true); 
toc 

Elapsed time is 9.993832 seconds. 

その問題を引き起こしている可能性がどのような任意のアイデアを?安全モードでも発生し、MATLAB以外の実行プログラムはありません。私はMATLABの完全な再インストールを試みますが、もしそれが避けられれば、それはすばらしいでしょう。

+2

実行しているMatlabのバージョンはどれですか? –

+0

私は推測させてください... 2012b? – yuk

+0

2012年(2012年)(正確には8.0.0.783) – rienafairefr

答えて

1

問題は、MathWorksのサポートからの入力で解決されました:\

>> tic;doc fwrite;toc 
Elapsed time is 20.301202 seconds. 

>> tic;reader = org.apache.lucene.index.IndexReader.open(fullfile(docroot,'helpsearch')); 
searcher = org.apache.lucene.search.IndexSearcher(reader); 
term = org.apache.lucene.index.Term('relpath','ref/plot.html'); 
query = org.apache.lucene.search.TermQuery(term); 
hits = searcher.search(query); 
fprintf('Found %d results\n', hits.length); searcher.close; reader.close; toc; 
Java exception occurred: 
java.io.IOException: Lock obtain timed out: 
[email protected]:\Users\b\AppData\Local\Temp\lucene-ca3070c312bc20732565936b371a8bd3-  commit.lock 
at 
org.apache.lucene.store.Lock.obtain(Lock.java:56) 
at 
org.apache.lucene.store.Lock$With.run(Lock.java:98) 
at 
org.apache.lucene.index.IndexReader.open(IndexReader.java:141) 
at 
org.apache.lucene.index.IndexReader.open(IndexReader.java:125) 

その後、それがロックされる一時ファイルに問題だと思って、私は、MATLABを閉じたのAppData \ローカル\ Tempにへ行き、その中のすべての一時ファイルを消去しました。

>> tic; 
reader = org.apache.lucene.index.IndexReader.open(fullfile(docroot,'helpsearch')); 
searcher = org.apache.lucene.search.IndexSearcher(reader); 
term = org.apache.lucene.index.Term('relpath','ref/plot.html'); 
query = org.apache.lucene.search.TermQuery(term); 
hits = searcher.search(query); 
fprintf('Found %d results\n', hits.length); searcher.close; reader.close; toc; 
Found 5 results 
Elapsed time is 0.106868 seconds. 

>> tic;doc fwrite;toc 
Elapsed time is 0.153808 seconds. 

はどちらかそれは一時ファイルやトリックをした内部Javaクラスのorg.apache.luceneの*への参照を掃除だが、ここでは今、ドキュメントが速い再び、です。

4

この問題に寄与している可能性のあることがいくつかありますが、提供した情報を元に、何が起こっているのかを正確に伝えるのは難しいです。

R2012bヘルプシステムが初期化されると、主に目に見える遅延が発生することがあります。ほとんどの場合、利用可能なMathWorks製品と、ヘルプ設定の設定方法が決まります。 10秒は珍しいでしょうが、これが遅延を引き起こす可能性があります。ヘルプシステムを初めて使用したときにパフォーマンスが低下しても、同じMATLABセッションで再度パフォーマンスが低下した場合は、これが原因と考えられます。この動作はR2013aで改善されました。

初期化タスク以外では、問題のJavaコールは、ドキュメントの検索に使用されているのと同じ検索インデックスに対して比較的簡単な検索です。ヘルプブラウザでドキュメントの検索が遅いことが判明した場合、これはヘルプのシステムの検索機能のどこかにパフォーマンスの問題があることを示唆しています。

どちらの場合でも、おそらくcontact MathWorks technical supportです。これをもっと詳しく見ることができ、おそらく何らかの修正が出てくる可能性があります。