summaryrefslogtreecommitdiff
path: root/xdelta3/xdelta3-regtest.py
diff options
context:
space:
mode:
Diffstat (limited to 'xdelta3/xdelta3-regtest.py')
-rwxr-xr-xxdelta3/xdelta3-regtest.py59
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):
615def RandomBigRun(f1, f2): 616def 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
647def RunSpeed(): 659def 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: