exponenta event banner

управляемый

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

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

Описание

пример

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