$NotebookInlineStorageLimit

$NotebookInlineStorageLimit

specifies the maximum size in bytes of expressions that will be stored in displayed summary boxes, datasets and other compact outputs.

Details

  • Summary boxes, which display the function name, an icon and key properties instead of the complete expression, are used by functions such as SparseArray, TimeSeries and InterpolatingFunction.
  • Expressions smaller than $NotebookInlineStorageLimit contain a full copy of the expression and can be reused as input.
  • Expressions larger than $NotebookInlineStorageLimit have summary boxes that do not contain a full copy of the expression, but provide an interface for storing the expression for later reuse.
  • The expression can only be embedded in the notebook while the kernel session that created it is still running and has a reference to the expression, either in a variable or Out[n].
  • For compatibility with versions of the Wolfram Language prior to Version 12.1, the value of $NotebookInlineStorageLimit can also be accessed using $SummaryBoxDataSizeLimit.

Examples

open allclose all

Basic Examples  (2)

The default value:

The byte count of this sparse array is less than this limit:

Therefore, the following summary box contains the complete expression:

This summary box can be copied and used as input:

Set $NotebookInlineStorageLimit to a small value:

The byte count of this sparse array is greater than this limit:

Therefore, the summary box does not store the expression, but provides an interface to do so:

This version of the summary box cannot be used as input by simply copying it:

Copying the summary and box and clicking the Store now button will create a usable input:

Restore the default value of $NotebookInlineStorageLimit:

Scope  (5)

Dataset respects $NotebookInlineStorageLimit:

Check the byte count of each expression:

Numerical functions such as InterpolatingFunction respect $NotebookInlineStorageLimit:

Check the byte count of each expression:

NearestFunction behaves similarly:

Array types that produce summary boxes respect $NotebookInlineStorageLimit:

Check the byte count of each expression:

Structured arrays behave similarly:

Statistical functions such as TimeSeries respect $NotebookInlineStorageLimit:

Check the byte count of each expression:

WeightedData behaves similarly:

GeoPosition respects $NotebookInlineStorageLimit:

Check the byte count of each expression:

Applications  (2)

Save space in notebooks by setting $NotebookInlineStorageLimit to zero:

Create a summary box, which will not contain the expression, and save a reference to the cell in c1:

Restore the default value of $NotebookInlineStorageLimit:

Recreate the summary box for if, which now has the expression in it, and save a reference in c2:

Output cell c1 is about nine and a half kilobytes smaller than output cell c2:

Save memory in a kernel session by setting $HistoryLength to zero:

Create a large summary box, which will not be saved in the notebook:

Because there is no reference to the output, the "Store now" button cannot work:

Create another summary box, but save the result in the variable data:

As long as data is not reset, the "Store now" button will continue to work:

Verify that the data was in fact larger than $NotebookInlineStorageLimit:

Restore the default values of $HistoryLength:

Properties & Relations  (1)

$NotebookInlineStorageLimit only affects summary boxes:

$OutputSizeLimit affects all outputs:

Introduced in 2020
 (12.1)