---
schema_version: "1"
id: c0be96ed36c880fa79d53d5e0822c41771d1daf6c8143d04c6f41942a9dbede5
title: Use Cases for Enhanced Compile Cart
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_use_cases_for_enhanced_compile_cart.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_use_cases_for_enhanced_compile_cart.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: e7ded21b2e5b3f05a623132df0ec21c9c7de0d263df454a03257b7b8cf7b4403
description: Some scenarios that use variable chunking logic to optimize performance across different data volumes and complexities. By adjusting the configuration parameters, you can balance memory usage and throughput to prevent Governor Limit errors or heap pressure during compilation.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# Use Cases for Enhanced Compile Cart

Some scenarios that use variable chunking logic to optimize performance across different data volumes and complexities. By adjusting the configuration parameters, you can balance memory usage and throughput to prevent Governor Limit errors or heap pressure during compilation.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col style="width:100%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, <strong>Performance</strong>, and <strong>Developer</strong> Edition.</td></tr></tbody></table>

The compilation explains multiple parameters values ‌based on which you can select the chunk size.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/images/icon_note.png)

Note The chunk size values are approximate estimations, as the actual value can vary depending on the customer's dataset.

## Compile PCP Parameter

This table defines the variable chunking logic for multiple values of PCP.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">PCP Count</td><td class="slds-cell-wrap" style="vertical-align:top;">Description</td><td class="slds-cell-wrap" style="vertical-align:top;">Chunk Size</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than or equals 5000</td><td class="slds-cell-wrap" style="vertical-align:top;">Low memory footprint, maximize throughput</td><td class="slds-cell-wrap" style="vertical-align:top;">2000</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">5000–10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Moderate memory, balanced jobs</td><td class="slds-cell-wrap" style="vertical-align:top;">1000</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Greater than 10000</td><td class="slds-cell-wrap" style="vertical-align:top;">High volumes require smaller chunks to avoid heap pressure</td><td class="slds-cell-wrap" style="vertical-align:top;">500</td></tr></tbody></table>

## Compile Product Hierarchy Parameter

This table defines the variable chunking logic for multiple combinations of Products, and Hierarchy Complexity.

In addition to the previous configurations, the additional factor that contributes to chunk size is the attribute coverage. In general, these numbers are considering each product bundle has half of the PCIs assigned with the attributes, a mix of normal and picklist attributes.

For example, each product carries 10 attributes: five standard (normal) attributes and five picklist-type attributes.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Product</td><td class="slds-cell-wrap" style="vertical-align:top;">Hierarchy Complexity</td><td class="slds-cell-wrap" style="vertical-align:top;">Chunk Size</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than 5000</td><td class="slds-cell-wrap" style="vertical-align:top;">Simple (10 PCIs per Bundle)</td><td class="slds-cell-wrap" style="vertical-align:top;">100</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than 5000</td><td class="slds-cell-wrap" style="vertical-align:top;">Moderate (20 PCIs per Bundle)</td><td class="slds-cell-wrap" style="vertical-align:top;">75</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">5000–10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Simple (10 PCIs per Bundle)</td><td class="slds-cell-wrap" style="vertical-align:top;">75</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">5000–10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Moderate (20 PCIs per Bundle)</td><td class="slds-cell-wrap" style="vertical-align:top;">50</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Greater than 10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Moderate+ (30+ PCIs per Bundle)</td><td class="slds-cell-wrap" style="vertical-align:top;">30–50</td></tr></tbody></table>

## Compile Context Rules Parameter

This table defines the variable chunking logic for different values and descriptions for Context Rules.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Rules Count</td><td class="slds-cell-wrap" style="vertical-align:top;">Description</td><td class="slds-cell-wrap" style="vertical-align:top;">Chunk Size</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than or equals 5000</td><td class="slds-cell-wrap" style="vertical-align:top;">Simple rule evaluation, low memory</td><td class="slds-cell-wrap" style="vertical-align:top;">2000</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">5000–10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Moderate rule set, balanced processing</td><td class="slds-cell-wrap" style="vertical-align:top;">1000</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Greater than 10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Large rule sets need smaller chunks</td><td class="slds-cell-wrap" style="vertical-align:top;">500</td></tr></tbody></table>

## Compile Price List To PBE Ranges

This table defines the variable chunking logic for multiple combinations of Products and PLEs.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"> <col style="width:33.33333333333333%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Products</td><td class="slds-cell-wrap" style="vertical-align:top;">PLEs</td><td class="slds-cell-wrap" style="vertical-align:top;">Chunk Size</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than 5000</td><td class="slds-cell-wrap" style="vertical-align:top;">Less than 20000</td><td class="slds-cell-wrap" style="vertical-align:top;">50</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">5000–10000</td><td class="slds-cell-wrap" style="vertical-align:top;">Less than 30000</td><td class="slds-cell-wrap" style="vertical-align:top;">40</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">10000–25000</td><td class="slds-cell-wrap" style="vertical-align:top;">Less than 50000</td><td class="slds-cell-wrap" style="vertical-align:top;">30</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">25000–50000</td><td class="slds-cell-wrap" style="vertical-align:top;">Less than 100000</td><td class="slds-cell-wrap" style="vertical-align:top;">20</td></tr></tbody></table>

## Compile Pricing

This table defines the variable chunking logic for different set of PLEs.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:50%"> <col style="width:50%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">PLEs</td><td class="slds-cell-wrap" style="vertical-align:top;">Chunk Size</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than 20000</td><td class="slds-cell-wrap" style="vertical-align:top;">50</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">20000–50000</td><td class="slds-cell-wrap" style="vertical-align:top;">40</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">50000–100000</td><td class="slds-cell-wrap" style="vertical-align:top;">30</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Greater than 100000</td><td class="slds-cell-wrap" style="vertical-align:top;">20</td></tr></tbody></table>

## Compile Promo Items

This table defines a variable chunking logic for processing promotion items.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:50%"> <col style="width:50%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Promotion Items</td><td class="slds-cell-wrap" style="vertical-align:top;">Chunk Size</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Less than 10000</td><td class="slds-cell-wrap" style="vertical-align:top;">100</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">10000–50000</td><td class="slds-cell-wrap" style="vertical-align:top;">70</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">50000–100000</td><td class="slds-cell-wrap" style="vertical-align:top;">50</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Greater than 100000</td><td class="slds-cell-wrap" style="vertical-align:top;">30</td></tr></tbody></table>

Here’s the representation of a configuration script:

![Chunking Script](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/comms_media_energy_managed/images/chunkingscript.png)

Also, with an invalid JSON script, the system throws an error but still gives output based on the default values for the configuration parameters.