Commit 1a6f5a0
committed
Go back to considering HOT on pages marked full.
Commit 2fd8685 simplified the checking of modified attributes that
takes place within heap_update(). This included a micro-optimization
affecting pages marked PD_PAGE_FULL: don't even try to use HOT to save a
few cycles on determining HOT safety. The assumption was that it won't
work out this time around, since it can't have worked out last time
around.
Remove the micro-optimization. It could only ever save cycles that are
consumed by the vast majority of heap_update() calls, which hardly seems
worth the added complexity. It also seems quite possible that there are
workloads that will do worse over time by repeated application of the
micro-optimization, despite saving some cycles on average, in the short
term.
Author: Peter Geoghegan <pg@bowt.ie>
Reviewed-By: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m/CAH2-WznU1L3+DMPr1F7o2eJBT7=3bAJoY6ZkWABAxNt+-afyTA@mail.gmail.com1 parent dd484c9 commit 1a6f5a0
1 file changed
+6
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3179 | 3179 | | |
3180 | 3180 | | |
3181 | 3181 | | |
3182 | | - | |
3183 | 3182 | | |
3184 | 3183 | | |
3185 | 3184 | | |
| |||
3228 | 3227 | | |
3229 | 3228 | | |
3230 | 3229 | | |
3231 | | - | |
| 3230 | + | |
| 3231 | + | |
| 3232 | + | |
| 3233 | + | |
3232 | 3234 | | |
3233 | 3235 | | |
3234 | 3236 | | |
3235 | 3237 | | |
3236 | 3238 | | |
3237 | | - | |
3238 | | - | |
3239 | | - | |
3240 | | - | |
3241 | | - | |
3242 | | - | |
3243 | | - | |
3244 | | - | |
3245 | | - | |
3246 | | - | |
3247 | | - | |
3248 | | - | |
3249 | | - | |
3250 | | - | |
3251 | | - | |
3252 | | - | |
3253 | | - | |
3254 | | - | |
3255 | | - | |
3256 | | - | |
3257 | 3239 | | |
3258 | 3240 | | |
3259 | 3241 | | |
| |||
3867 | 3849 | | |
3868 | 3850 | | |
3869 | 3851 | | |
3870 | | - | |
3871 | | - | |
| 3852 | + | |
3872 | 3853 | | |
3873 | | - | |
| 3854 | + | |
3874 | 3855 | | |
3875 | 3856 | | |
3876 | 3857 | | |
| |||
0 commit comments