diff options
Diffstat (limited to 'xdelta3/xdelta3-regtest.py')
-rwxr-xr-x | xdelta3/xdelta3-regtest.py | 59 |
1 files changed, 38 insertions, 21 deletions
diff --git a/xdelta3/xdelta3-regtest.py b/xdelta3/xdelta3-regtest.py index bf1693d..fdebffe 100755 --- a/xdelta3/xdelta3-regtest.py +++ b/xdelta3/xdelta3-regtest.py | |||
@@ -593,14 +593,15 @@ def BigFileRun(f1, f2): | |||
593 | testcases = [ | 593 | testcases = [ |
594 | # large_look large_step small_look small_chain small_lchain | 594 | # large_look large_step small_look small_chain small_lchain |
595 | # ssmatch try_lazy max_lazy long_enough promote | 595 | # ssmatch try_lazy max_lazy long_enough promote |
596 | ['-DC', '16,32,4,2,2,1,0,0,64,0'], | 596 | ['-DC', '9,7,4,8,1,1,1,16,114,0'], |
597 | ['-DC', '24,32,4,2,2,1,0,0,64,0'], | 597 | ['-DC', '9,6,4,8,1,1,1,16,114,0'], |
598 | ['-DC', '32,32,4,2,2,1,0,0,64,0'], | 598 | ['-DC', '9,5,4,8,1,1,1,16,114,0'], |
599 | ['-DC', '9,4,4,8,1,1,1,16,114,0'], | ||
599 | ] | 600 | ] |
600 | 601 | ||
601 | for test in testcases: | 602 | for test in testcases: |
602 | runner = Xdelta3Pair() | 603 | runner = Xdelta3Pair() |
603 | runner.extra = ['-DC', test] | 604 | runner.extra = test |
604 | result = TimeRun(runner.Runner(f1, 1, f2, 2)) | 605 | result = TimeRun(runner.Runner(f1, 1, f2, 2)) |
605 | 606 | ||
606 | print 'test %s dsize %d: time %.7f: in %u/%u trials' % \ | 607 | print 'test %s dsize %d: time %.7f: in %u/%u trials' % \ |
@@ -615,34 +616,45 @@ def BigFileRun(f1, f2): | |||
615 | def RandomBigRun(f1, f2): | 616 | def RandomBigRun(f1, f2): |
616 | 617 | ||
617 | input_ranges = [ | 618 | input_ranges = [ |
618 | (8, 32, 4), | 619 | (7, 13, 'large_look'), |
619 | (8, 64, 8), | 620 | (1, 50, 'large_step'), |
620 | (4, 6, 1), | 621 | (4, 6, 'small_look'), |
621 | (1, 8, 1), | 622 | (1, 10, 'small_chain'), |
622 | (1, 4, 1), | 623 | (1, 5, 'small_lchain'), |
623 | (0, 1, 1), | 624 | (0, 0, 'ssmatch'), |
624 | (0, 1, 1), | 625 | (0, 1, 'trylazy'), |
625 | (8, 128, 32), | 626 | (1, 32, 'max_lazy'), |
626 | (8, 128, 32), | 627 | (1, 64, 'long_enough'), |
627 | (0, 1, 1), | 628 | (0, 1, 'promote'), |
628 | ] | 629 | ] |
629 | 630 | ||
630 | config = [] | 631 | config = [] |
631 | rand = random.Random() | 632 | rand = random.Random() |
633 | map = {} | ||
632 | 634 | ||
633 | for input in input_ranges: | 635 | for input in input_ranges: |
634 | config.append(str(rand.randrange(input[0], input[1] + 1, input[2]))) | 636 | x = rand.randrange(input[0], input[1] + 1) |
637 | config.append(x) | ||
638 | map[input[2]] = x | ||
639 | #end | ||
640 | |||
641 | if map['small_chain'] < map['small_lchain']: | ||
642 | return | ||
643 | |||
644 | if map['large_look'] < map['small_look']: | ||
645 | return | ||
646 | |||
647 | strs = [str(x) for x in config] | ||
635 | 648 | ||
636 | runner = Xdelta3Pair() | 649 | runner = Xdelta3Pair() |
637 | runner.extra = ['-DC', ','.join(config)] | 650 | runner.extra = ['-DC', ','.join(strs)] |
638 | result = TimeRun(runner.Runner(f1, 1, f2, 2)) | 651 | result = TimeRun(runner.Runner(f1, 1, f2, 2)) |
639 | 652 | ||
640 | print 'test %s dsize %d: time %.7f: in %u/%u trials' % \ | 653 | print 'config %s dsize %d time %.7f in %u trials' % \ |
641 | (','.join(config), | 654 | (' '.join(strs), |
642 | result.r1.dsize, | 655 | result.r1.dsize, |
643 | result.time.mean, | 656 | result.time.mean, |
644 | result.trials, | 657 | result.trials) |
645 | result.reps) | ||
646 | 658 | ||
647 | def RunSpeed(): | 659 | def RunSpeed(): |
648 | for L in Decimals(MAX_RUN): | 660 | for L in Decimals(MAX_RUN): |
@@ -661,7 +673,12 @@ if __name__ == "__main__": | |||
661 | #BigFileRuns(rcsf) | 673 | #BigFileRuns(rcsf) |
662 | #BigFileRun("/tmp/big.1", "/tmp/big.2") | 674 | #BigFileRun("/tmp/big.1", "/tmp/big.2") |
663 | while 1: | 675 | while 1: |
664 | RandomBigRun("/tmp/big.1", "/tmp/big.2") | 676 | try: |
677 | RandomBigRun("/tmp/big.1", "/tmp/big.2") | ||
678 | except CommandError, e: | ||
679 | pass | ||
680 | #end | ||
681 | #end | ||
665 | except CommandError: | 682 | except CommandError: |
666 | pass | 683 | pass |
667 | else: | 684 | else: |