0
Есть ли более быстрый способ сделать этоСбор статистики из большого набора файлов
function [A,B]=powerplot(basepath,N)
A=zeros(N,1);
B=zeros(N,1);
for k=0:N-1
filename=sprintf('%s-%d.txt',basepath,k);
data=load(filename);
[a,b]=powerfit(data(:,1),data(:,2));
A(k+1)=a;
B(k+1)=b;
end
end
где
function [a,b]=powerfit(X,Y)
p=polyfit(log(X),log(Y),1);
a=exp(p(2));
b=p(1);
end
Файлы содержат измерение на ансамбле, каждый файл захваченного в разное время, содержащем разное количество строк. Могу ли я лучше упорядочить свои данные? Чтобы ускорить его, нужно ли делать этот анализ в собственном коде с помощью библиотеки ROOT?
Try 'profile' для выявления медленных линий, может быть,' load' не является оптимальным выбором, поскольку она включает в себя некоторые дополнительные код, определяющий разделители файлов, типы данных и т.д. – Daniel
@Daniel Это нагрузка, которая идет медленно. Итак, как загружать данные? – user877329
Когда каждая итерация занимает> 3 секунды, вы можете попробовать параллельный пакет. Кроме того, скопируйте все свои файлы в tmpfs (в ram), когда вы используете linux. Это уменьшит задержку ввода-вывода. – Markus