Commit c135205
committed
Replace the switching function ExecEvalExpr() with a macro that jumps
directly to the appropriate per-node execution function, using a function
pointer stored by ExecInitExpr. This speeds things up by eliminating one
level of function call. The function-pointer technique also enables further
small improvements such as only making one-time tests once (and then
changing the function pointer). Overall this seems to gain about 10%
on evaluation of simple expressions, which isn't earthshaking but seems
a worthwhile gain for a relatively small hack. Per recent discussion
on pghackers.1 parent 2c7e473 commit c135205
File tree
7 files changed
+416
-306
lines changed- src
- backend/executor
- include
- executor
- nodes
7 files changed
+416
-306
lines changed
0 commit comments