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