# Choose a processing engine

Pro engines accelerate supported sorting, filtering, and aggregation. The actual execution path depends on the browser, package, license, and current feature combination.

Canonical: https://grid.syidax.com/docs/features/wasm-acceleration/

<a id="understand"></a>

## How it works and when to use it

engine requests a mode; getActiveTier() reports the active engine. Requesting Pro does not mean every operation uses the same accelerated path.

Using this feature in a product requires the Pro package and a valid license. Matching setting names do not enable Pro features in Community.

In the code, grid is the Grid element prepared in the installation chapter. Check each example's data and settings, and implement the app functions and server endpoints for your project.

- [Installation and integration · Shared sample data](https://grid.syidax.com/docs/guides/getting-started.md)

<a id="example-1"></a>

## Example 1. Select automatically for the environment

Use the default selection and fallback policy.

```javascript
grid.engine = 'auto';
grid.unavailable = 'fallback';
console.log(await grid.getActiveTier());
```

Verify the result: Check the selected tier after initialization. Where fallback is allowed, the result may differ from the requested mode.

<a id="example-2"></a>

## Example 2. Views requiring Pro execution

Use in an app that already has the package and license configured.

```javascript
grid.engine = 'pro';
grid.unavailable = 'error';
```

Verify the result: When the required engine is unavailable, inspect the error path instead of silently falling back.

<a id="example-3"></a>

## Example 3. Compare acceleration benefits

Benchmark standard and Pro repeatedly using the same data, filters, and sorting. Separate initial download and initialization from repeated processing time.

Verify the result: Do not promise acceleration based only on row count. Check support and equivalent results for actual feature combinations, including callbacks, formulas, and pivoting.

<a id="pitfalls"></a>

## Combining features and troubleshooting

Changing engines does not automatically speed up server requests, networking, or custom renderers. Measure the bottleneck first.

For features rejected on a particular path, such as dynamic array formulas, read the returned report and switch to a supported configuration.

<a id="related-api"></a>

## APIs used by this feature

- [engine](https://grid.syidax.com/docs/options/engine.md) — Requests automatic selection, standard JavaScript, or Pro processing. Inspect the actual result with getActiveTier.
- [proThreshold](https://grid.syidax.com/docs/options/proThreshold.md) — Data-size threshold for considering the Pro path during automatic engine selection.
- [unavailable](https://grid.syidax.com/docs/options/unavailable.md) — Chooses fallback execution or an error when the requested engine is unavailable.
- [getActiveTier](https://grid.syidax.com/docs/methods/getActiveTier.md) — Reads the actual active processing tier, which may differ from the requested engine mode.

<a id="next"></a>

## Related reading

- [How rows, columns, and IDs relate](https://grid.syidax.com/docs/guides/concepts.md)
- [Connect results and events](https://grid.syidax.com/docs/guides/data-event-access.md)
- [Explore in Features](https://grid.syidax.com/grid/wasm-acceleration) — The guide describes which interactions are available to try.
