# pcre2_set_optimize man page

Return to the PCRE2 index page.

This page is part of the PCRE2 HTML documentation. It was generated automatically from the original man page. If there is any nonsense in it, please consult the man page, in case the conversion went wrong.

## SYNOPSIS

#include <pcre2.h>

int pcre2_set_optimize(pcre2_compile_context *ccontext, uint32_t directive);

## DESCRIPTION

This function controls which performance optimizations will be applied by pcre2_compile(). It can be called multiple times with the same compile context; the effects are cumulative, with the effects of later calls taking precedence over earlier ones.

The result is zero for success, PCRE2_ERROR_NULL if ccontext is NULL, or PCRE2_ERROR_BADOPTION if directive is unknown. The latter could be useful to detect if a certain optimization is available.

The list of possible values for the directive parameter are:

      PCRE2_OPTIMIZATION_FULL   Enable all optimizations (default)
      PCRE2_OPTIMIZATION_NONE   Disable all optimizations
      PCRE2_AUTO_POSSESS        Enable auto-possessification
      PCRE2_AUTO_POSSESS_OFF    Disable auto-possessification
      PCRE2_DOTSTAR_ANCHOR      Enable implicit dotstar anchoring
      PCRE2_DOTSTAR_ANCHOR_OFF  Disable implicit dotstar anchoring
      PCRE2_START_OPTIMIZE      Enable start-up optimizations at match time
      PCRE2_START_OPTIMIZE_OFF  Disable start-up optimizations at match time

There is a complete description of the PCRE2 native API, including detailed descriptions directive parameter values in the pcre2api page.

Return to the PCRE2 index page.