merge-benchmark.py - libzahl - big integer library
 (HTM) git clone git://git.suckless.org/libzahl
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       merge-benchmark.py (957B)
       ---
            1 #!/usr/bin/env python3
            2 # See LICENSE file for copyright and license details.
            3 
            4 import sys
            5 
            6 line_count = None
            7 files = []
            8 
            9 for path in sys.argv[1:]:
           10     with open(path, 'rb') as file:
           11         data = file.read()
           12     data = data.decode('utf-8', 'strict')
           13     if data[-1] == '\n':
           14         data = data[:-1]
           15     data = data.split('\n')
           16     if line_count is None:
           17         line_count = len(data)
           18     elif len(data) != line_count:
           19         print('%s: line count mismatch' % sys.argv[0], file = sys.stderr)
           20         sys.exit(1)
           21     files.append(data)
           22 
           23 for i in range(line_count):
           24     best_sec = None
           25     best_nsec = None
           26     best_line = None
           27     for lines in files:
           28         line = lines[i]
           29         [sec, nsec] = line.split(':')[1].split(' ')[1].split('.')
           30         [sec, nsec] = [int(sec), int(nsec)]
           31         if best_sec is None or sec < best_sec or (sec == best_sec and nsec < best_nsec):
           32             best_sec, best_nsec, best_line = sec, nsec, line
           33     print(best_line)