Recently, I have implemented parallelization in my MATLAB , largely offering Slow xlsread sentences in MATLAB . However, the implementation of parallelism caused another problem - a nonlinear increase in processing time with increasing scale .
It seems that the culprit is the java.util.concurrent.LinkedBlockingQueue method, as can be seen from the attached images of the profiler and the corresponding condensed graphs.
Problem: How to remove this nonlinearity, since my work involves processing more than 1000 sheets in one run - which will take an incredibly long time?
Note. The parallel part of the program simply includes reading all the .xls files and storing them in matrices, after which I run the rest of my program. dlmwrite used at the end of the program, and optimization over its time is not actually required, although it can also be suggested.




Culprit:

Parallelized Code:
parfor i = 1:runs sin = 'Sheet'; sno = num2str(i); sna = strcat(sin, sno); data(i, :, :) = xlsread('Processes.xls', sna, '' , 'basic'); end
source share