Optimise performance of var-args functions by adding loop-unrolled variants
#5.680 aberto em 15 de mai. de 2025
Métricas do repositório
- Stars
- (13.403 stars)
- Métricas de merge de PR
- (Mesclagem média 5d 13h) (108 fundiu PRs em 30d)
Description
Is your feature request related to a problem?
There are a variety of MultiArgFunction functions, with variable argument lists. Often, these lists will be short (<5 arguments), but there is no guarantee that the JVM will unroll their loops automatically.
Functions that perform relatively simple operations may benefit from manually unrolled variants that skip loop and conditional checks, and instead have a straight bytecode path for the calculations.
Describe the solution you'd like.
Review var-args functions, particularly those with numeric arguments and basic calculations. If they are a candidate for loop unrolling, implement and benchmark to prove it is faster.
Examples of var-args functions:
- greatest/least
- IN
- CASE
- coalesce
l2price- concat
Describe alternatives you've considered.
No response
Full Name:
Nick Woolmer
Affiliation:
QuestDB
Additional context
No response