Performance Issue detected in Table vs Struct Data
1 次查看(过去 30 天)
显示 更早的评论
% Hello Mathworks Team,
% our development Team found an issue when writing data into specific positions of a data column of a table.
% Comparing the performance with writing into an array of a struct we was wondering if this is intended or if it could be an issue in the software?
% Could you give us an answer if we should address the data of a table differently?
% Thanks in advance and best Regards.
% Tobias Poniatowski
testData = zeros(100000,1);
testValueToWrite = 4711;
testStruct.data = testData;
testTable = table(testData, 'VariableNames', {'data'});
ticStruct = tic;
for i=1:size(testStruct.data,1)
testStruct.data(i) = testValueToWrite;
end
toc(ticStruct)
ticTable = tic;
for i=1:size(testTable.data,1)
testTable.data(i) = testValueToWrite;
end
toc(ticTable)
% result:
% Elapsed time is 0.025719 seconds.
% Elapsed time is 13.884480 seconds.
1 个评论
Peter Perkins
2019-3-11
Tobias, as comments in the links that Harshita cites suggest, using vectorized operations is a better strategy. Your code example is so stripped down that it's impossible to give you any real advice, but I imagine that you could contact MathWorks support for help.
采纳的回答
Harshita Gupta
2019-3-4
Table do have known performance issues but you can refer to following links to improve your code:
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!