Commit a2ff18e
committed
Improve sift up/down code in binaryheap.c and logtape.c.
Borrow the logic that's long been used in tuplesort.c: instead
of physically swapping the data in two heap entries, keep the
value that's being sifted up or down in a local variable, and
just move the other values as necessary. This makes the code
shorter as well as faster. It's not clear that any current
callers are really time-critical enough to notice, but we
might as well code heap maintenance the same way everywhere.
Ma Liangzhu and Tom Lane
Discussion: https://postgr.es/m/17336-fc4e522d26a750fd@postgresql.org1 parent 2de3c10 commit a2ff18e
2 files changed
+63
-61
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
| |||
173 | 172 | | |
174 | 173 | | |
175 | 174 | | |
| 175 | + | |
| 176 | + | |
176 | 177 | | |
177 | 178 | | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
178 | 183 | | |
179 | 184 | | |
180 | 185 | | |
181 | | - | |
| 186 | + | |
182 | 187 | | |
183 | 188 | | |
184 | 189 | | |
185 | | - | |
186 | | - | |
187 | | - | |
| 190 | + | |
| 191 | + | |
188 | 192 | | |
189 | | - | |
190 | | - | |
| 193 | + | |
191 | 194 | | |
192 | 195 | | |
193 | | - | |
| 196 | + | |
194 | 197 | | |
195 | 198 | | |
196 | 199 | | |
| |||
211 | 214 | | |
212 | 215 | | |
213 | 216 | | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | 217 | | |
228 | 218 | | |
229 | 219 | | |
230 | 220 | | |
231 | 221 | | |
232 | 222 | | |
233 | 223 | | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
234 | 231 | | |
235 | 232 | | |
236 | 233 | | |
237 | 234 | | |
| 235 | + | |
238 | 236 | | |
239 | 237 | | |
240 | 238 | | |
241 | 239 | | |
242 | 240 | | |
243 | 241 | | |
244 | | - | |
245 | | - | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
246 | 245 | | |
247 | 246 | | |
248 | 247 | | |
249 | 248 | | |
250 | 249 | | |
251 | | - | |
252 | | - | |
| 250 | + | |
| 251 | + | |
253 | 252 | | |
254 | | - | |
| 253 | + | |
255 | 254 | | |
256 | 255 | | |
| 256 | + | |
| 257 | + | |
257 | 258 | | |
258 | 259 | | |
259 | 260 | | |
| |||
263 | 264 | | |
264 | 265 | | |
265 | 266 | | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
266 | 274 | | |
267 | 275 | | |
268 | 276 | | |
| |||
271 | 279 | | |
272 | 280 | | |
273 | 281 | | |
274 | | - | |
| 282 | + | |
275 | 283 | | |
276 | 284 | | |
277 | 285 | | |
278 | 286 | | |
279 | 287 | | |
280 | 288 | | |
281 | | - | |
| 289 | + | |
282 | 290 | | |
283 | 291 | | |
284 | 292 | | |
| |||
298 | 306 | | |
299 | 307 | | |
300 | 308 | | |
301 | | - | |
| 309 | + | |
302 | 310 | | |
303 | 311 | | |
304 | | - | |
| 312 | + | |
305 | 313 | | |
306 | 314 | | |
| 315 | + | |
| 316 | + | |
307 | 317 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
340 | 340 | | |
341 | 341 | | |
342 | 342 | | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | 343 | | |
354 | 344 | | |
355 | 345 | | |
| |||
390 | 380 | | |
391 | 381 | | |
392 | 382 | | |
393 | | - | |
| 383 | + | |
| 384 | + | |
394 | 385 | | |
395 | 386 | | |
396 | 387 | | |
397 | 388 | | |
398 | 389 | | |
| 390 | + | |
399 | 391 | | |
400 | 392 | | |
401 | 393 | | |
402 | 394 | | |
403 | 395 | | |
404 | 396 | | |
405 | | - | |
| 397 | + | |
406 | 398 | | |
407 | 399 | | |
408 | | - | |
409 | | - | |
| 400 | + | |
| 401 | + | |
410 | 402 | | |
411 | 403 | | |
412 | | - | |
| 404 | + | |
413 | 405 | | |
414 | 406 | | |
415 | 407 | | |
416 | | - | |
417 | | - | |
| 408 | + | |
| 409 | + | |
418 | 410 | | |
419 | 411 | | |
420 | 412 | | |
| |||
426 | 418 | | |
427 | 419 | | |
428 | 420 | | |
429 | | - | |
| 421 | + | |
430 | 422 | | |
431 | 423 | | |
432 | | - | |
433 | | - | |
| 424 | + | |
| 425 | + | |
434 | 426 | | |
| 427 | + | |
435 | 428 | | |
436 | 429 | | |
437 | 430 | | |
| |||
483 | 476 | | |
484 | 477 | | |
485 | 478 | | |
486 | | - | |
| 479 | + | |
487 | 480 | | |
488 | 481 | | |
489 | 482 | | |
| |||
508 | 501 | | |
509 | 502 | | |
510 | 503 | | |
| 504 | + | |
511 | 505 | | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
| 506 | + | |
516 | 507 | | |
517 | 508 | | |
518 | | - | |
519 | | - | |
| 509 | + | |
| 510 | + | |
520 | 511 | | |
521 | | - | |
| 512 | + | |
522 | 513 | | |
523 | | - | |
| 514 | + | |
524 | 515 | | |
525 | 516 | | |
526 | | - | |
527 | | - | |
| 517 | + | |
| 518 | + | |
528 | 519 | | |
| 520 | + | |
529 | 521 | | |
530 | 522 | | |
531 | 523 | | |
| |||
0 commit comments