JIT-компиляция для выражений
В этой теме описывается, как включить и настроить JIT-компиляцию для выражений в Selena.
Обзор
Just-in-time компиляция (JIT) — это генерация машинного кода и его выполнение во время работы программы. По сравнению с интерпретатором, JIT-компилятор может значительно улучшить эффективность выполнения наиболее часто используемых частей кода. Selena поддерживает JIT-компиляци ю для определённых сложных выражений, что позволяет многократно улучшить производительность.
Использование
Начиная с версии v1.5.2, Selena включает JIT-компиляцию по умолчанию для узлов BE с лимитом памяти (настраивается параметром конфигурации BE mem_limit) 16 ГБ или более. Поскольку JIT-компиляция потребляет определённый объём ресурсов памяти, она отключена по умолчанию для узлов BE с памятью менее 16 ГБ.
Вы можете включить и настроить JIT-компиляцию для выражений, используя следующие параметры.
jit_lru_cache_size (конфигурация BE)
- По умолчанию: 0
- Тип: Int
- Единица измерения: Байты
- Изменяемый: Да
- Описание: Размер LRU-кэша для JIT-компиляции. Представляет фактический размер кэша, если установлено значение больше 0. Если установле но значение меньше или равное 0, система автоматически устанавливает кэш по формуле
jit_lru_cache_size = min(mem_limit*0.01, 1GB)(при этомmem_limitузла должен быть не менее 16 ГБ). - Добавлено в: -
jit_level (системная переменная)
- Описание: Уровень, на котором включена JIT-компиляция для выражений. Допустимые значения:
1: Система адаптивно включает JIT-компиляцию для компилируемых выражений.-1: JIT-компиляция включена для всех компилируемых неконстантных выражений.0: JIT-компиляция отключена. Вы можете отключить её вручную, если при использовании этой функции возникает ошибка.
- По умолчанию: 1
- Тип данных: Int
- Добавлено в: -
Поддержка функций
Поддерживаемые выражения
+,-,*,/,%,&,|,^,>>,<<- Преобразование типов данных с помощью CAST
- CASE WHEN
=,!=,>,>=,<,<=,<=>AND,OR,NOT
Поддерживаемые операторы
- OLAP Scan Operator для фильтрации
- Projection Operator
- Aggregate Operator для выражений
- HAVING
- Sort Operator для выражений
Поддерживаемые типы данных
- BOOLEAN
- TINYINT
- SMALLINT
- INT
- BIGINT
- LARGEINT
- FLOAT
- DOUBLE