-
- Downloads
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.
Showing
- src/backend/executor/execQual.c 367 additions, 281 deletionssrc/backend/executor/execQual.c
- src/backend/executor/nodeHash.c 3 additions, 3 deletionssrc/backend/executor/nodeHash.c
- src/backend/executor/nodeMergejoin.c 5 additions, 9 deletionssrc/backend/executor/nodeMergejoin.c
- src/backend/executor/nodeSubplan.c 10 additions, 2 deletionssrc/backend/executor/nodeSubplan.c
- src/include/executor/executor.h 13 additions, 6 deletionssrc/include/executor/executor.h
- src/include/executor/nodeSubplan.h 3 additions, 2 deletionssrc/include/executor/nodeSubplan.h
- src/include/nodes/execnodes.h 15 additions, 3 deletionssrc/include/nodes/execnodes.h
Loading
Please register or sign in to comment