stats

Возвращает кэшированные значения и статистику для MemoizedFunction объект

Синтаксис

Описание

пример

s = stats(mfcn) возвращает кэшированные значения и статистику по использованию MemoizedFunction объект.

Примеры

свернуть все

Создайте MemoizedFunction объект путем запоминания plus функция.

mf = memoize(@plus)
mf = 
  MemoizedFunction with properties:

     Function: @plus
      Enabled: 1
    CacheSize: 10

Несколько раз вызовите функцию memoized. При первом вызове функции с определенным набором входов MATLAB кэширует результаты.

a = mf(13,42);  % calls plus; caches results
b = mf(7,33);   % calls plus; caches results
c = mf(13,42);  % does not call plus; returns cached results
d = mf(5,120);  % calls plus; caches results
e = mf(13,42);  % does not call plus; returns cached results
f = mf(7,33);   % does not call plus; returns cached results

Вызовите stats функция.

s = stats(mf)
s = struct with fields:
                    Cache: [1x1 struct]
       MostHitCachedInput: [1x1 struct]
      CacheHitRatePercent: 50
    CacheOccupancyPercent: 30

Определите, какие наборы входов вы использовали больше всего.

s.MostHitCachedInput
ans = struct with fields:
     Hits: 2
    Input: {[13]  [42]}

Получите результаты кэширования.

c = s.Cache
c = struct with fields:
         Inputs: {{1x2 cell}  {1x2 cell}  {1x2 cell}}
        Nargout: [1 1 1]
        Outputs: {{1x1 cell}  {1x1 cell}  {1x1 cell}}
       HitCount: [2 1 0]
      TotalHits: 3
    TotalMisses: 3

Отображение всех наборов кэшированных входных и выходных входов наряду с тем, сколько раз MATLAB получал доступ к кэшированным значениям.

T = cell2table([c.Inputs' c.Outputs'],'VariableNames',{'Inputs','Outputs'});
T.Times_Cache_Accessed = c.HitCount'
T=3×3 table
         Inputs          Outputs    Times_Cache_Accessed
    _________________    _______    ____________________

    {[13]}    {[ 42]}    {[ 55]}             2          
    {[ 7]}    {[ 33]}    {[ 40]}             1          
    {[ 5]}    {[120]}    {[125]}             0          

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

свернуть все

Функция с семантикой запоминания, заданная как MemoizedFunction объект.

Выходные аргументы

свернуть все

MemoizedFunction statistics, возвращенная как структура, содержащая эти поля.

Область

Описание

Cache

Результаты кэширования, возвращенные как структура. Если m количество вызовов функций с кэшированными результатами, затем структура содержит следующие поля:

  • Inputs - Кэшированные входные значения, возвращенные как 1-by- m массив ячеек. Каждый элемент в Inputs массив ячеек является 1-by- n массив ячеек, где n - количество входов для конкретного вызова функции.

  • Outputs - Кэшированные выходные значения, возвращенные как 1-by- m массив ячеек. Каждый элемент в Outputs массив ячеек является 1-by- p массив ячеек, где p - количество выходов для конкретного вызова функции.

  • HitCount - Количество обращений к каждому кэшированному набору входа значений, возвращаемое следующим 1-by- m double массив.

  • TotalHits - Общее количество раз, когда набор входа значений был найден в кэше, возвращенном как double.

  • TotalMisses - Общее количество раз, когда набор входа значений не был найден в кэше, возвращенный как double.

MostHitCachedInput

Входные параметры для наиболее доступных кэшированных значений, возвращенные как структура. Структура содержит следующие поля:

  • Hits - Количество обращений к кэшированным значениям, возвращаемых в виде целого числа

  • Input - Входные значения для наиболее доступных кэшированных значений, возвращенные как массив ячеек из входных значений

CacheHitRatePercent

Процент раз, когда вход был найден в кэше, возвращенный как двойной. Это свойство вычисляется (TotalHits/(TotalHits+TotalMisses))*100.

CacheOccupancyPercent

Насколько заполнен кэш, возвращается как двойной, представляющий процент. Это свойство вычисляется (Number of cache entries/cache size)*100.

См. также

Функции

Объекты

Введенный в R2017a