статистика

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

Синтаксис

s = stats(mfcn)

Описание

пример

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

Примеры

свернуть все

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

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

     Function: @plus
      Enabled: 1
    CacheSize: 10

Вызывайте мемоизованную функцию несколько раз. В первый раз, когда вы вызываете функцию с определенным набором входных параметров, 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          

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

свернуть все

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

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

свернуть все

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

Поле

Описание

Cache

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

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

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

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

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

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

MostHitCachedInput

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

  • Hits – К числу раз кэшируемые значения получили доступ, возвращенное как целое число

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

CacheHitRatePercent

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

CacheOccupancyPercent

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

Смотрите также

Функции

Объекты

Введенный в R2017a