File: LoadGenerator.m

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (28 lines) | stat: -rw-r--r-- 792 bytes parent folder | download | duplicates (7)
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
function LoadGenerator(yieldmsecs)
% LoadGenerator([yieldmsecs=0])
%
% Create cpu-load by simply executing an empty while-loop as fast as
% possible.
%
% Optionally the load can be reduced by specifying a non-zero 'yieldmsecs'
% argument telling the function that it should release the cpu for
% 'yieldmsecs' milliseconds in each loop iteration.
%
% This function never returns, you have to abort it by pressing CTRL+C.
%

    % Default to a overload load:
    if nargin < 1
        yieldmsecs = 0;
    end
    
    % Repeat forever:
    while 1
        % If yield requested, yield for given number of msecs, otherwise
        % just spin-wait at 100% of achievable cpu load:
        if yieldmsecs > 0
            WaitSecs('YieldSecs', yieldmsecs / 1000);
        end
    end
    % Done.
end