Lime Parser Generator 0.1.0
Runtime-extensible LALR(1) parser with SIMD tokenization and LLVM JIT
Loading...
Searching...
No Matches
JITPolicyConfig Struct Reference

Tunable thresholds for the JIT compilation policy. More...

#include <jit_policy.h>

Data Fields

bool background_compile
 If true, JIT compilation happens on a background thread.
 
bool enabled
 Master switch for JIT compilation.
 
uint64_t min_avg_lookups_per_parse
 Minimum average action lookups per parse session.
 
uint32_t min_avg_tokens_per_parse
 Minimum average tokens per parse session before JIT.
 
uint32_t min_grammar_states
 Minimum number of parser states before considering JIT.
 
uint64_t min_parse_count
 Minimum number of parse sessions before considering JIT.
 
uint64_t min_total_parse_time_ns
 Minimum cumulative parse time (nanoseconds) before JIT.
 
bool tokenizer_jit_enabled
 Enable JIT compilation of the keyword tokenizer.
 

Detailed Description

Tunable thresholds for the JIT compilation policy.

These can be adjusted per-application to match workload patterns. See jit_policy_default_config() for the shipping defaults.

Definition at line 57 of file jit_policy.h.

Field Documentation

◆ background_compile

bool JITPolicyConfig::background_compile

If true, JIT compilation happens on a background thread.

If false, compilation is synchronous (blocks the caller).

Definition at line 73 of file jit_policy.h.

◆ enabled

bool JITPolicyConfig::enabled

Master switch for JIT compilation.

Set to false to disable JIT entirely regardless of metrics.

Definition at line 85 of file jit_policy.h.

◆ min_avg_lookups_per_parse

uint64_t JITPolicyConfig::min_avg_lookups_per_parse

Minimum average action lookups per parse session.

Grammars with few lookups per parse won't benefit from JIT.

Definition at line 69 of file jit_policy.h.

◆ min_avg_tokens_per_parse

uint32_t JITPolicyConfig::min_avg_tokens_per_parse

Minimum average tokens per parse session before JIT.

Short inputs don't benefit from JIT compilation.

Definition at line 81 of file jit_policy.h.

◆ min_grammar_states

uint32_t JITPolicyConfig::min_grammar_states

Minimum number of parser states before considering JIT.

Small grammars don't benefit enough to justify compilation.

Definition at line 77 of file jit_policy.h.

◆ min_parse_count

uint64_t JITPolicyConfig::min_parse_count

Minimum number of parse sessions before considering JIT.

Prevents wasting compilation effort on rarely-used grammars.

Definition at line 60 of file jit_policy.h.

◆ min_total_parse_time_ns

uint64_t JITPolicyConfig::min_total_parse_time_ns

Minimum cumulative parse time (nanoseconds) before JIT.

Ensures the grammar is spending enough time in parsing to justify the compilation overhead.

Definition at line 65 of file jit_policy.h.

◆ tokenizer_jit_enabled

bool JITPolicyConfig::tokenizer_jit_enabled

Enable JIT compilation of the keyword tokenizer.

When true, the JIT policy compiles a trie-based keyword classifier from the TokenTable when the parser JIT triggers. When false, keyword lookups always use the hash-based path.

Definition at line 91 of file jit_policy.h.


The documentation for this struct was generated from the following file: