diff --git a/tests/speedBenchmark.m b/tests/speedBenchmark.m index 395c8bb95eccd720164e5c4c75c004059b3b1c32..27d7a13f5b28c7a2532477014eb3b2a3b5e61164 100644 --- a/tests/speedBenchmark.m +++ b/tests/speedBenchmark.m @@ -69,4 +69,40 @@ function speed = speedBenchmark(len) tic scalarProductClass = dot(testClass.a,testClass.b); 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 diff --git a/tests/speedBenchmarkPlot.m b/tests/speedBenchmarkPlot.m index 6abf509588a1d695f7bf9ac89f7c850bedfaf4eb..7cadfd5a736697deb8e655c3810d204192b23552 100644 --- a/tests/speedBenchmarkPlot.m +++ b/tests/speedBenchmarkPlot.m @@ -25,7 +25,7 @@ for i = 1:length(vct) end plt.lgdStruct = plot(nan, nan, 'color', plt.stdBlue); plt.lgdClass = plot(nan, nan, 'color', plt.stdRed); -title('readTime'); +title('Reading time'); xlabel('Number of elements') ylabel('Speed [s]') legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'}) @@ -74,4 +74,49 @@ title('Scalar product time'); xlabel('Number of elements') ylabel('Speed [s]') legend([plt.lgdStruct, plt.lgdClass], {'Struct', 'Class'}) +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