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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
memoizedFcn | Any | Yes | — | MemoizedFunction object. |
Returns
| Name | Type | Description |
|---|---|---|
stats | Any | Structure with cache entries and hit/miss counters. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:memoize:InvalidObject | A memoized-function method receives a non-MemoizedFunction object. | memoize: expected MemoizedFunction object |
RunMat:memoize:InvalidCacheSize | CacheSize is not a positive finite integer scalar. | memoize: CacheSize must be a positive integer scalar |
RunMat:memoize:GcFailure | The memoized object target cannot be allocated or accessed. | memoize: internal object storage failed |
How stats works
S.Cache.Inputsis a cell row vector whose entries are cell arrays of cached input arguments.S.Cache.Nargoutis a numeric row vector containing the requested output count for each cache entry.S.Cache.Outputsis a cell row vector whose entries are cell arrays of cached outputs.S.Cache.HitCountis a numeric row vector with per-entry hit counts.S.Cache.TotalHitsandS.Cache.TotalMissesreport aggregate counters.- If
CacheSizehas 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.
Related Introspection functions
addprop · class · clear · clearAllMemoizedCaches · clearCache · clearvars · dbclear · dbstack · dbstatus · dbtype · evalc · findprop · getcallinfo · inputParser · isa · ischar · isdeployed · iskeyword · ismethod · isobject · isstring · isUnderlyingType · keyboard · matlab.metadata.DynamicProperty.delete · memoize · metaclass · mislocked · mlock · munlock · namelengthmax · onCleanup · superclasses · underlyingType · verLessThan · version · which · who · whos
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how stats is executed, line by line, in Rust.
- View the source for stats in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
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.