Mercurial > hg
comparison tests/test-bookmarks-pushpull.t @ 39146:f736fdbe546a stable
remotephase: avoid full changelog iteration (issue5964)
Changeset 88efb7d6bcb6 introduced a performance regression by triggering a
full ancestors walk.
This changeset reworks this logic so that we no longer walk down the full
changelog. The motivation for 88efb7d6bcb6, issue5939, is still fixed.
mercurial compared to a draft repository
----------------------------------------
8eeed92475d5: 0.012637 seconds
88efb7d6bcb6: 0.202699 seconds (x16)
46da52f4b820: 0.215551 seconds (+6%)
this code: 0.008397 seconds (-33% from base)
The payload size reduction we see in `test-bookmarks-pushpull.t` comes from a
more aggressive filter of nullid and is harmless.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 17 Aug 2018 20:35:52 +0200 |
parents | 2009d84f245a |
children | fc54a290b4b0 |
comparison
equal
deleted
inserted
replaced
39141:c89e2fb207a1 | 39146:f736fdbe546a |
---|---|
139 bundle2-output: part 1: "CHECK:BOOKMARKS" | 139 bundle2-output: part 1: "CHECK:BOOKMARKS" |
140 bundle2-output: header chunk size: 22 | 140 bundle2-output: header chunk size: 22 |
141 bundle2-output: payload chunk size: 23 | 141 bundle2-output: payload chunk size: 23 |
142 bundle2-output: closing payload chunk | 142 bundle2-output: closing payload chunk |
143 bundle2-output: bundle part: "check:phases" | 143 bundle2-output: bundle part: "check:phases" |
144 bundle2-output-part: "check:phases" 48 bytes payload | 144 bundle2-output-part: "check:phases" 24 bytes payload |
145 bundle2-output: part 2: "CHECK:PHASES" | 145 bundle2-output: part 2: "CHECK:PHASES" |
146 bundle2-output: header chunk size: 19 | 146 bundle2-output: header chunk size: 19 |
147 bundle2-output: payload chunk size: 48 | 147 bundle2-output: payload chunk size: 24 |
148 bundle2-output: closing payload chunk | 148 bundle2-output: closing payload chunk |
149 bundle2-output: bundle part: "pushkey" | 149 bundle2-output: bundle part: "pushkey" |
150 bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload | 150 bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload |
151 bundle2-output: part 3: "PUSHKEY" | 151 bundle2-output: part 3: "PUSHKEY" |
152 bundle2-output: header chunk size: 90 | 152 bundle2-output: header chunk size: 90 |
178 bundle2-input: part type: "CHECK:PHASES" | 178 bundle2-input: part type: "CHECK:PHASES" |
179 bundle2-input: part id: "2" | 179 bundle2-input: part id: "2" |
180 bundle2-input: part parameters: 0 | 180 bundle2-input: part parameters: 0 |
181 bundle2-input: found a handler for part check:phases | 181 bundle2-input: found a handler for part check:phases |
182 bundle2-input-part: "check:phases" supported | 182 bundle2-input-part: "check:phases" supported |
183 bundle2-input: payload chunk size: 48 | 183 bundle2-input: payload chunk size: 24 |
184 bundle2-input: payload chunk size: 0 | 184 bundle2-input: payload chunk size: 0 |
185 bundle2-input-part: total payload size 48 | 185 bundle2-input-part: total payload size 24 |
186 bundle2-input: part header size: 90 | 186 bundle2-input: part header size: 90 |
187 bundle2-input: part type: "PUSHKEY" | 187 bundle2-input: part type: "PUSHKEY" |
188 bundle2-input: part id: "3" | 188 bundle2-input: part id: "3" |
189 bundle2-input: part parameters: 4 | 189 bundle2-input: part parameters: 4 |
190 bundle2-input: found a handler for part pushkey | 190 bundle2-input: found a handler for part pushkey |
251 bundle2-output: part 1: "CHECK:BOOKMARKS" | 251 bundle2-output: part 1: "CHECK:BOOKMARKS" |
252 bundle2-output: header chunk size: 22 | 252 bundle2-output: header chunk size: 22 |
253 bundle2-output: payload chunk size: 23 | 253 bundle2-output: payload chunk size: 23 |
254 bundle2-output: closing payload chunk | 254 bundle2-output: closing payload chunk |
255 bundle2-output: bundle part: "check:phases" | 255 bundle2-output: bundle part: "check:phases" |
256 bundle2-output-part: "check:phases" 48 bytes payload | 256 bundle2-output-part: "check:phases" 24 bytes payload |
257 bundle2-output: part 2: "CHECK:PHASES" | 257 bundle2-output: part 2: "CHECK:PHASES" |
258 bundle2-output: header chunk size: 19 | 258 bundle2-output: header chunk size: 19 |
259 bundle2-output: payload chunk size: 48 | 259 bundle2-output: payload chunk size: 24 |
260 bundle2-output: closing payload chunk | 260 bundle2-output: closing payload chunk |
261 bundle2-output: bundle part: "bookmarks" | 261 bundle2-output: bundle part: "bookmarks" |
262 bundle2-output-part: "bookmarks" 23 bytes payload | 262 bundle2-output-part: "bookmarks" 23 bytes payload |
263 bundle2-output: part 3: "BOOKMARKS" | 263 bundle2-output: part 3: "BOOKMARKS" |
264 bundle2-output: header chunk size: 16 | 264 bundle2-output: header chunk size: 16 |
291 bundle2-input: part type: "CHECK:PHASES" | 291 bundle2-input: part type: "CHECK:PHASES" |
292 bundle2-input: part id: "2" | 292 bundle2-input: part id: "2" |
293 bundle2-input: part parameters: 0 | 293 bundle2-input: part parameters: 0 |
294 bundle2-input: found a handler for part check:phases | 294 bundle2-input: found a handler for part check:phases |
295 bundle2-input-part: "check:phases" supported | 295 bundle2-input-part: "check:phases" supported |
296 bundle2-input: payload chunk size: 48 | 296 bundle2-input: payload chunk size: 24 |
297 bundle2-input: payload chunk size: 0 | 297 bundle2-input: payload chunk size: 0 |
298 bundle2-input-part: total payload size 48 | 298 bundle2-input-part: total payload size 24 |
299 bundle2-input: part header size: 16 | 299 bundle2-input: part header size: 16 |
300 bundle2-input: part type: "BOOKMARKS" | 300 bundle2-input: part type: "BOOKMARKS" |
301 bundle2-input: part id: "3" | 301 bundle2-input: part id: "3" |
302 bundle2-input: part parameters: 0 | 302 bundle2-input: part parameters: 0 |
303 bundle2-input: found a handler for part bookmarks | 303 bundle2-input: found a handler for part bookmarks |