Closed Moonm3n closed 3 months ago
We have marked this issue as stale because it has been inactive for 6 months. If this issue is still relevant, removing the stale label or adding a comment will keep it active. Otherwise, we'll close it in 10 days to keep the issue queue tidy. Thank you for your contribution to StarRocks!
Feature request
Description
Overview
For OLAP database, optimizing CPU performance is paramount. JIT (Just-In-Time compilation) can dynamically adapt to the workload and data type, generating customized machine code that minimizes instruction counts, ultimately resulting in faster data processing. Using JIT together with vectorized execution can further enhance runtime efficiency.
Expression evaluation, characterized by intricate procedures and substantial materializations of intermediate results, stands out as a pivotal candidate for JIT optimization. The use of JIT compilation can streamline these complexities by merging multiple operations, thus reducing the temporary storage and enhancing CPU cache utilization. This, in turn, minimizes the pressure on memory bandwidth.
Primary Benefits
Solution
Overall, I plan to implement StarRocks expression JIT in conjunction with LLVM JIT, which involves the following components:
Additional
I plan to contribute by submitting PRs to tackle this issue in multiple steps: