-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathperformanceTest.m
55 lines (40 loc) · 1.27 KB
/
performanceTest.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
% Runs the optimized and unoptimized algorithm on n data points, measures
% the time it takes for each and displays the time difference in a table.
maxNum = 3; % Change to test more data points (by powers of 10).
numData = 10.^(1:1:maxNum);
timeTakenOptimized = zeros(size(numData));
timeTakenNonOptimized = zeros(size(numData));
f = figure;
% Warms up the figure before testing
for i = 1:5
f1 = filledLineChart(1:10, 1:10);
delete(f1);
f2 = filledLineChart(1:10, 1:10, 'Optimized', false);
delete(f2);
end
% Tests each algorithm on increasing number of data points
for i = 1:maxNum
disp("Running for " + numData(i) + " data points.");
n = numData(i);
x = 1:n;
y = sin(linspace(0,4*pi,n)) + 10;
tic;
h1 = filledLineChart(x,y);
drawnow;
t1 = toc;
delete(h1);
timeTakenOptimized(i) = t1;
tic;
h2 = filledLineChart(x,y,'Optimized',false);
drawnow;
t2 = toc;
delete(h2);
timeTakenNonOptimized(i) = t2;
end
close(f);
% View the results in a table.
timeDiff = timeTakenNonOptimized - timeTakenOptimized;
T = table(numData', timeTakenNonOptimized', timeTakenOptimized', timeDiff');
T.Properties.VariableNames = {'Number of Data', 'Time (Non-Optimized)', ...
'Time (Optimized)', 'Time Difference'};
disp(T)