stats

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

Синтаксис

Описание

пример

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- m cellArray. Каждый элемент в Inputs массивом ячеек является 1- n массив ячеек, где n количество входных параметров для конкретного вызова функции.

  • Outputs – Кэшируемые выходные значения, возвращенные как 1- m cellArray. Каждый элемент в 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