2013-03-14 25 views
5

Tôi không thể đưa ngón tay của mình vào lý do tại sao nó thực hiện điều này, nhưng vì một vài ngày giúp mất rất nhiều thời gian để hiển thị. Hoặc là nội tuyến (chọn một hàm, chọn "trợ giúp cho") hoặc bằng cách sử dụng các lệnh doc hoặc help. Lệnh doc cmdname mất khoảng 10 giây để hiển thị cửa sổ trợ giúp. Tôi đã làm, lấy fwrite làm ví dụ, hãy thử profile on;doc fwrite;profile viewer và đào qua lỗ thỏ tôi đến trên một phương pháp matlab java tin được dùng mãi mãi:Trợ giúp Matlab, lệnh doc rất chậm

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

Elapsed time is 9.993832 seconds. 

Bất cứ ý tưởng gì có thể gây ra vấn đề đó? Nó cũng xảy ra ở chế độ an toàn, không có chương trình chạy nào khác ngoài MATLAB. Tôi sẽ thử cài đặt lại hoàn toàn MATLAB, nhưng nếu tôi có thể tránh được điều đó thật tuyệt.

+2

Bạn đang chạy phiên bản Matlab nào? –

+0

Để tôi đoán ... 2012b? – yuk

+0

Đúng, 2012b (8.0.0.783 chính xác) – rienafairefr

Trả lời

1

Vấn đề đã được giải quyết với sự đóng góp từ MathWorks hỗ trợ:

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

Sau đó, nghĩ rằng đó là một vấn đề với một tập tin tạm thời bị khóa, tôi nhắm Matlab, đi vào AppData \ Local \ Temp \ và làm sạch tất cả các tệp tạm thời trong đó.

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

Hoặc là làm sạch các tệp tạm thời hoặc tham chiếu đến lớp java bên trong org.apache.lucene * đã thực hiện thủ thuật, nhưng giờ đây, tài liệu nhanh chóng trở lại.

4

Có một vài điều có thể góp phần vào vấn đề này, nhưng với thông tin bạn đã cung cấp, thật khó để nói chính xác những gì đang diễn ra.

Khi hệ thống trợ giúp R2012b khởi chạy, có một vài nhiệm vụ đôi khi có thể gây ra sự chậm trễ đáng chú ý, chủ yếu liên quan đến việc xác định sản phẩm MathWorks nào và cách bạn thiết lập tùy chọn trợ giúp. 10 giây sẽ không bình thường, nhưng có khả năng đây là nguyên nhân gây ra sự chậm trễ. Nếu bạn thấy hiệu suất bị ảnh hưởng khi sử dụng hệ thống trợ giúp đầu tiên, nhưng không phải lần nữa trong cùng một phiên MATLAB, đây là nguyên nhân có thể xảy ra. Hành vi này được cải thiện trong R2013a.

Khác với nhiệm vụ khởi tạo, cuộc gọi Java đang đề cập là tìm kiếm tương đối đơn giản chống lại cùng một chỉ mục tìm kiếm được sử dụng để tìm kiếm tài liệu. Nếu bạn thấy rằng việc tìm kiếm tài liệu trong trình duyệt trợ giúp chậm, đây sẽ là gợi ý rằng vấn đề hiệu suất nằm ở đâu đó trong chức năng tìm kiếm của hệ thống trợ giúp.

Trong cả hai trường hợp, đặt cược tốt nhất của bạn có thể là contact MathWorks technical support. Có khả năng chúng ta có thể xem xét kỹ hơn vấn đề này và có thể tìm ra một số loại sửa chữa.