$SummaryBoxDataSizeLimit

As of Version 12.1 of the Wolfram Language, $SummaryBoxDataSizeLimit has been superseded by $NotebookInlineStorageLimit.

$SummaryBoxDataSizeLimit

specifies the maximum size in bytes of expressions that will be stored in displayed summary boxes.

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.
  • Summary boxes for expressions smaller than $SummaryBoxDataSizeLimit contain a full copy of the expression and can be reused as input.
  • Expressions larger than $SummaryBoxDataSizeLimit 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 summary box while the kernel session that created it is still running and has a reference to the expression, either in a variable or Out[n].

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 $SummaryBoxDataSizeLimit 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 $SummaryBoxDataSizeLimit:

Scope  (4)

Numerical functions such as InterpolatingFunction respect $SummaryBoxDataSizeLimit:

Check the byte count of each expression:

NearestFunction behaves similarly:

Array types that produce summary boxes respect $SummaryBoxDataSizeLimit:

Check the byte count of each expression:

StructuredArray behaves similarly:

Statistical functions such as TimeSeries respect $SummaryBoxDataSizeLimit:

Check the byte count of each expression:

WeightedData behaves similarly:

GeoPosition respects $SummaryBoxDataSizeLimit:

Check the byte count of each expression:

Applications  (2)

Save space in notebooks by setting $SummaryBoxDataSizeLimit 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 $SummaryBoxDataSizeLimit:

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 $SummaryBoxDataSizeLimit:

Restore the default values of $HistoryLength:

Properties & Relations  (1)

$SummaryBoxDataSizeLimit only affects summary boxes:

$OutputSizeLimit affects all outputs:

Introduced in 2017
 (11.2)