Show More
@@ -2590,6 +2590,51 b' def perfbdiff(ui, repo, file_, rev=None,' | |||
|
2590 | 2590 | |
|
2591 | 2591 | |
|
2592 | 2592 | @command( |
|
2593 | b'perf::unbundle', | |
|
2594 | formatteropts, | |
|
2595 | b'BUNDLE_FILE', | |
|
2596 | ) | |
|
2597 | def perf_unbundle(ui, repo, fname, **opts): | |
|
2598 | """benchmark application of a bundle in a repository. | |
|
2599 | ||
|
2600 | This does not include the final transaction processing""" | |
|
2601 | from mercurial import exchange | |
|
2602 | from mercurial import bundle2 | |
|
2603 | ||
|
2604 | with repo.lock(): | |
|
2605 | bundle = [None, None] | |
|
2606 | try: | |
|
2607 | with open(fname, mode="rb") as f: | |
|
2608 | ||
|
2609 | def setup(): | |
|
2610 | gen, tr = bundle | |
|
2611 | if tr is not None: | |
|
2612 | tr.abort() | |
|
2613 | bundle[:] = [None, None] | |
|
2614 | f.seek(0) | |
|
2615 | bundle[0] = exchange.readbundle(ui, f, fname) | |
|
2616 | bundle[1] = repo.transaction(b'perf::unbundle') | |
|
2617 | ||
|
2618 | def apply(): | |
|
2619 | gen, tr = bundle | |
|
2620 | bundle2.applybundle( | |
|
2621 | repo, | |
|
2622 | gen, | |
|
2623 | tr, | |
|
2624 | source=b'perf::unbundle', | |
|
2625 | url=fname, | |
|
2626 | ) | |
|
2627 | ||
|
2628 | timer, fm = gettimer(ui, opts) | |
|
2629 | timer(apply, setup=setup) | |
|
2630 | fm.end() | |
|
2631 | finally: | |
|
2632 | gen, tr = bundle | |
|
2633 | if tr is not None: | |
|
2634 | tr.abort() | |
|
2635 | ||
|
2636 | ||
|
2637 | @command( | |
|
2593 | 2638 | b'perf::unidiff|perfunidiff', |
|
2594 | 2639 | revlogopts |
|
2595 | 2640 | + formatteropts |
@@ -188,6 +188,8 b' perfstatus' | |||
|
188 | 188 | perf::tags (no help text available) |
|
189 | 189 | perf::templating |
|
190 | 190 | test the rendering time of a given template |
|
191 | perf::unbundle | |
|
192 | benchmark application of a bundle in a repository. | |
|
191 | 193 | perf::unidiff |
|
192 | 194 | benchmark a unified diff between revisions |
|
193 | 195 | perf::volatilesets |
@@ -387,6 +389,15 b' Test pre-run feature' | |||
|
387 | 389 | searching for changes |
|
388 | 390 | searching for changes |
|
389 | 391 | $ hg perf::bundle 'last(all(), 5)' |
|
392 | $ hg bundle --exact --rev 'last(all(), 5)' last-5.hg | |
|
393 | 4 changesets found | |
|
394 | $ hg perf::unbundle last-5.hg | |
|
395 | adding changesets | |
|
396 | adding manifests | |
|
397 | adding file changes | |
|
398 | transaction abort! | |
|
399 | rollback completed | |
|
400 | ||
|
390 | 401 | |
|
391 | 402 | test profile-benchmark option |
|
392 | 403 | ------------------------------ |
General Comments 0
You need to be logged in to leave comments.
Login now