run

Класс: matlab.perftest.TimeExperiment
Пакет: matlab.perftest

Эксперимент во время выполнения тестового набора

Описание

пример

results = run(experiment,suite) запускает временной эксперимент на тестовом наборе и возвращает массив TimeResult объекты. Каждый элемент в results соответствует элементу в suite.

Входные параметры

расширить все

Эксперимент по сбору измерений на, заданный как matlab.perftest.TimeExperiment образец.

Набор тестов, заданный как matlab.unittest.Test массив.

Примеры

расширить все

В текущей рабочей папке создайте тест на основе классов, preallocationTest.m, который сравнивает различные методы предварительного выделения.

classdef preallocationTest < matlab.perftest.TestCase
    methods(Test)
        function testOnes(testCase)
            x = ones(1,1e7);
        end
        
        function testIndexingWithVariable(testCase)
            id = 1:1e7;
            x(id) = 1;
        end
        
        function testIndexingOnLHS(testCase)
            x(1:1e7) = 1;
        end
        
        function testForLoop(testCase)
            for i=1:1e7
                x(i) = 1;
            end
        end
        
    end
end

Создайте тестовый набор.

suite = testsuite('preallocationTest');

Создайте временной эксперимент с фиксированным количеством выборочных измерений и запустите тесты.

import matlab.perftest.TimeExperiment
numSamples = 10;
experiment = TimeExperiment.withFixedSampleSize(numSamples);
result = run(experiment,suite)
Running preallocationTest
.......... .......... .......... ..........
Done preallocationTest
__________


result = 

  1x4 TimeResult array with properties:

    Name
    Valid
    Samples
    TestActivity

Totals:
   4 Valid, 0 Invalid.
   12.4839 seconds testing time.

Альтернативы

Если вам не нужно создавать эксперимент и тестовый набор явно, можно использовать runperf.

Введенный в R2016a