Skip to content
Snippets Groups Projects
Commit b067fb3b authored by giuliaghirardini's avatar giuliaghirardini
Browse files

[benchmark][speed] Added eigen problem, sum, cross product. (WIP: optimize...

[benchmark][speed] Added eigen problem, sum, cross product. (WIP: optimize function division and total exe speed)
parent 0673ceb2
No related branches found
Tags
No related merge requests found
...@@ -69,4 +69,40 @@ function speed = speedBenchmark(len) ...@@ -69,4 +69,40 @@ function speed = speedBenchmark(len)
tic tic
scalarProductClass = dot(testClass.a,testClass.b); scalarProductClass = dot(testClass.a,testClass.b);
speed.scalarProduct.class = toc; speed.scalarProduct.class = toc;
%=======SUM=======
tic
sumStruct = testStruct.a + testStruct.b;
speed.sum.struct = toc;
tic
sumClass = testClass.a + testClass.b;
speed.sum.class = toc;
%=======CROSS PRODUCT======== (MATRICES)
matrix1 = randi([0, 1000], [3,len]);
matrix2 = randi([0, 1000], [3,len]);
testClass.a = matrix1; testStruct.a = matrix1;
testClass.b = matrix2; testStruct.b = matrix2;
tic
crossProductStruct = cross(testStruct.a,testStruct.b);
speed.crossProduct.struct = toc;
tic
crossProductClass = cross(testClass.a,testClass.b);
speed.crossProduct.class = toc;
%========EIGENVALUES PROBLEM======== (MATRICES)
matrix1 = randi([0, 1000], [len,len]);
testClass.a = matrix1; testStruct.a = matrix1;
tic
eigStruct = eig(testStruct.a);
speed.eigen.struct = toc;
tic
eigClass = eig(testClass.a);
speed.eigen.class = toc;
end end
...@@ -25,7 +25,7 @@ for i = 1:length(vct) ...@@ -25,7 +25,7 @@ for i = 1:length(vct)
end end
plt.lgdStruct = plot(nan, nan, 'color', plt.stdBlue); plt.lgdStruct = plot(nan, nan, 'color', plt.stdBlue);
plt.lgdClass = plot(nan, nan, 'color', plt.stdRed); plt.lgdClass = plot(nan, nan, 'color', plt.stdRed);
title('readTime'); title('Reading time');
xlabel('Number of elements') xlabel('Number of elements')
ylabel('Speed [s]') ylabel('Speed [s]')
legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'}) legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'})
...@@ -75,3 +75,48 @@ xlabel('Number of elements') ...@@ -75,3 +75,48 @@ xlabel('Number of elements')
ylabel('Speed [s]') ylabel('Speed [s]')
legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'}) legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'})
grid on grid on
% Sum
figure
for i = 1:length(vct)
semilogx(vct(i), speed(i).sum.struct, '.' ,'Color', plt.stdBlue)
semilogx(vct(i), speed(i).sum.class, '.', 'Color', plt.stdRed)
hold on
end
plt.lgdStruct = plot(nan, nan, 'color', plt.stdBlue);
plt.lgdClass = plot(nan, nan, 'color', plt.stdRed);
title('Sum time');
xlabel('Number of elements')
ylabel('Speed [s]')
legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'})
grid on
% Cross product time (matrices)
figure
for i = 1:length(vct)
semilogx(vct(i), speed(i).crossProduct.struct, '.' ,'Color', plt.stdBlue)
semilogx(vct(i), speed(i).crossProduct.class, '.', 'Color', plt.stdRed)
hold on
end
plt.lgdStruct = plot(nan, nan, 'color', plt.stdBlue);
plt.lgdClass = plot(nan, nan, 'color', plt.stdRed);
title('Cross product time (matrices)');
xlabel('Number of elements')
ylabel('Speed [s]')
legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'})
grid on
% Eigenvalues problem time (matrices)
figure
for i = 1:length(vct)
semilogx(vct(i), speed(i).eigen.struct, '.' ,'Color', plt.stdBlue)
semilogx(vct(i), speed(i).eigen.class, '.', 'Color', plt.stdRed)
hold on
end
plt.lgdStruct = plot(nan, nan, 'color', plt.stdBlue);
plt.lgdClass = plot(nan, nan, 'color', plt.stdRed);
title('Eigenvalues problem time (matrices) ');
xlabel('Number of elements')
ylabel('Speed [s]')
legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'})
grid on
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment