Performance Issue detected in Table vs Struct Data

3 views (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)

Categories

Find more on Structures in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!