merge-benchmark.py - libzahl - big integer library | |
git clone git://git.suckless.org/libzahl | |
Log | |
Files | |
Refs | |
README | |
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 ns… | |
32 best_sec, best_nsec, best_line = sec, nsec, line | |
33 print(best_line) |