Performance Issue detected in Table vs Struct Data

1 view (last 30 days)
% 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 Comment
Peter Perkins
Peter Perkins on 11 Mar 2019
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.

Sign in to comment.

Accepted Answer

Harshita Gupta
Harshita Gupta on 4 Mar 2019

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!