exponenta event banner

статистика

Возврат кэшированных значений и статистики для 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 статистика, возвращенная в виде структуры, содержащей эти поля.

Область

Описание

Cache

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

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

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

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

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

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

MostHitCachedInput

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

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

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

CacheHitRatePercent

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

CacheOccupancyPercent

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

См. также

Функции

Объекты

Представлен в R2017a