Commit 36d22dd
committed
Don't generate EEOP_*_FETCHSOME operations for slots know to be virtual.
That avoids unnecessary work during both interpreted execution, and
JIT compiled expression evaluation. Both benefit from fewer expression
steps needing be processed, and for interpreted execution there now is
a fastpath dedicated to just fetching a value from a virtual
slot. That's e.g. beneficial for hashjoins over nodes that perform
projections, as the hashed columns are currently fetched individually.
Author: Soumyadeep Chakraborty, Andres Freund
Discussion: https://postgr.es/m/CAE-ML+9OKSN71+mHtfMD-L24oDp8dGTfaVjDU6U+j+FNAW5kRQ@mail.gmail.com1 parent 34c9c53 commit 36d22dd
File tree
3 files changed
+160
-22
lines changed- src/backend
- executor
- jit/llvm
3 files changed
+160
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| |||
2285 | 2285 | | |
2286 | 2286 | | |
2287 | 2287 | | |
2288 | | - | |
2289 | | - | |
| 2288 | + | |
| 2289 | + | |
2290 | 2290 | | |
2291 | 2291 | | |
2292 | 2292 | | |
| |||
2295 | 2295 | | |
2296 | 2296 | | |
2297 | 2297 | | |
2298 | | - | |
2299 | | - | |
| 2298 | + | |
| 2299 | + | |
2300 | 2300 | | |
2301 | 2301 | | |
2302 | 2302 | | |
| |||
2305 | 2305 | | |
2306 | 2306 | | |
2307 | 2307 | | |
2308 | | - | |
2309 | | - | |
| 2308 | + | |
| 2309 | + | |
2310 | 2310 | | |
2311 | 2311 | | |
2312 | 2312 | | |
| |||
2364 | 2364 | | |
2365 | 2365 | | |
2366 | 2366 | | |
| 2367 | + | |
| 2368 | + | |
2367 | 2369 | | |
2368 | | - | |
| 2370 | + | |
2369 | 2371 | | |
2370 | 2372 | | |
2371 | 2373 | | |
2372 | 2374 | | |
2373 | 2375 | | |
2374 | 2376 | | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
2375 | 2382 | | |
2376 | 2383 | | |
2377 | 2384 | | |
| |||
2383 | 2390 | | |
2384 | 2391 | | |
2385 | 2392 | | |
2386 | | - | |
| 2393 | + | |
2387 | 2394 | | |
2388 | 2395 | | |
2389 | 2396 | | |
| |||
2403 | 2410 | | |
2404 | 2411 | | |
2405 | 2412 | | |
2406 | | - | |
| 2413 | + | |
2407 | 2414 | | |
2408 | 2415 | | |
2409 | 2416 | | |
| |||
2423 | 2430 | | |
2424 | 2431 | | |
2425 | 2432 | | |
2426 | | - | |
| 2433 | + | |
2427 | 2434 | | |
2428 | 2435 | | |
2429 | 2436 | | |
| |||
2446 | 2453 | | |
2447 | 2454 | | |
2448 | 2455 | | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
2449 | 2462 | | |
2450 | 2463 | | |
2451 | 2464 | | |
| |||
3360 | 3373 | | |
3361 | 3374 | | |
3362 | 3375 | | |
3363 | | - | |
3364 | | - | |
| 3376 | + | |
| 3377 | + | |
3365 | 3378 | | |
3366 | 3379 | | |
3367 | 3380 | | |
3368 | 3381 | | |
3369 | 3382 | | |
3370 | 3383 | | |
3371 | | - | |
3372 | | - | |
| 3384 | + | |
| 3385 | + | |
3373 | 3386 | | |
3374 | 3387 | | |
3375 | 3388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
163 | 169 | | |
164 | 170 | | |
165 | 171 | | |
| |||
255 | 261 | | |
256 | 262 | | |
257 | 263 | | |
258 | | - | |
259 | | - | |
| 264 | + | |
260 | 265 | | |
261 | | - | |
262 | | - | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
263 | 303 | | |
264 | 304 | | |
265 | 305 | | |
| |||
2096 | 2136 | | |
2097 | 2137 | | |
2098 | 2138 | | |
| 2139 | + | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
| 2143 | + | |
| 2144 | + | |
| 2145 | + | |
| 2146 | + | |
| 2147 | + | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
| 2151 | + | |
| 2152 | + | |
| 2153 | + | |
| 2154 | + | |
| 2155 | + | |
| 2156 | + | |
| 2157 | + | |
| 2158 | + | |
| 2159 | + | |
| 2160 | + | |
| 2161 | + | |
| 2162 | + | |
| 2163 | + | |
| 2164 | + | |
| 2165 | + | |
| 2166 | + | |
| 2167 | + | |
| 2168 | + | |
| 2169 | + | |
| 2170 | + | |
| 2171 | + | |
| 2172 | + | |
| 2173 | + | |
| 2174 | + | |
| 2175 | + | |
| 2176 | + | |
| 2177 | + | |
| 2178 | + | |
| 2179 | + | |
| 2180 | + | |
| 2181 | + | |
| 2182 | + | |
| 2183 | + | |
| 2184 | + | |
| 2185 | + | |
| 2186 | + | |
| 2187 | + | |
| 2188 | + | |
| 2189 | + | |
| 2190 | + | |
| 2191 | + | |
| 2192 | + | |
| 2193 | + | |
| 2194 | + | |
| 2195 | + | |
| 2196 | + | |
| 2197 | + | |
| 2198 | + | |
| 2199 | + | |
| 2200 | + | |
| 2201 | + | |
| 2202 | + | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + | |
| 2211 | + | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
| 2220 | + | |
| 2221 | + | |
| 2222 | + | |
| 2223 | + | |
2099 | 2224 | | |
2100 | 2225 | | |
2101 | 2226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
287 | 287 | | |
288 | 288 | | |
289 | 289 | | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
290 | 293 | | |
291 | 294 | | |
292 | 295 | | |
| |||
297 | 300 | | |
298 | 301 | | |
299 | 302 | | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
| |||
0 commit comments