stats — Return cache entries and hit/miss counters for a MemoizedFunction object.

S = stats(memoizedFcn) returns a structure whose Cache field describes the current cache contents and counters for a MemoizedFunction object.

Syntax

S = stats(memoizedFcn)

Inputs

NameTypeRequiredDefaultDescription
memoizedFcnAnyYesMemoizedFunction object.

Returns

NameTypeDescription
statsAnyStructure with cache entries and hit/miss counters.

Errors

IdentifierWhenMessage
RunMat:memoize:InvalidObjectA memoized-function method receives a non-MemoizedFunction object.memoize: expected MemoizedFunction object
RunMat:memoize:InvalidCacheSizeCacheSize is not a positive finite integer scalar.memoize: CacheSize must be a positive integer scalar
RunMat:memoize:GcFailureThe memoized object target cannot be allocated or accessed.memoize: internal object storage failed

How stats works

  • S.Cache.Inputs is a cell row vector whose entries are cell arrays of cached input arguments.
  • S.Cache.Nargout is a numeric row vector containing the requested output count for each cache entry.
  • S.Cache.Outputs is a cell row vector whose entries are cell arrays of cached outputs.
  • S.Cache.HitCount is a numeric row vector with per-entry hit counts.
  • S.Cache.TotalHits and S.Cache.TotalMisses report aggregate counters.
  • If CacheSize has been reduced, stats trims old entries before reporting the cache.

Example

Inspect memoized-function cache state

f = memoize(@sqrt);
f(9);
f(9);
S = stats(f)

Expected output:

% S.Cache.TotalHits is 1 and S.Cache.TotalMisses is 1.

Using stats with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how stats changes the result.

Run a small stats example, explain the result, then change one input and compare the output.

FAQ

Does stats change cache counters?

No. It only reports existing cache state, except that it enforces the current CacheSize by trimming old entries if necessary.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how stats is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.