Commit bf43475
committed
C++: Unroll recursion in inStaticInitializer
This gets rid of some slow recursive magic.
On Wireshark, this improves the timing of the involved predicates from
m#Variable::runtimeExprInStaticInitializer#b ..................... 3.1s (executed 86 times)
Variable::runtimeExprInStaticInitializer#b#antijoin_rhs .......... 1.6s
Variable::runtimeExprInStaticInitializer#b ....................... 985ms (executed 6 times)
Variable::runtimeExprInStaticInitializer#b#loop_invariant_prefix . 845ms
#Expr::Expr::getParent_dispred#fbPlus ............................ 3.6s (executed 86 times)
#Expr::Expr::getParent_dispred#fbPlus_10#join_rhs ................ 988ms
to
Variable::runtimeExprInStaticInitializer#f#antijoin_rhs . 1.8s
Variable::runtimeExprInStaticInitializer#f .............. 1.1s (executed 6 times)
Variable::inStaticInitializer#f ......................... 3.2s (executed 86 times)1 parent 5e01b4b commit bf43475
1 file changed
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
404 | 404 | | |
405 | 405 | | |
406 | 406 | | |
407 | | - | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
408 | 410 | | |
409 | 411 | | |
410 | 412 | | |
| |||
0 commit comments