запущенный

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

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

Синтаксис

results = run(experiment,suite)

Описание

пример

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.

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

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

Введенный в R2016a