Mercurial > repos > nick > duplex
view consensus-time.py @ 4:af383638de66 draft
planemo upload commit 022984f323d3da44f70b3bf79c684cfd8dda3f61-dirty
| author | nick |
|---|---|
| date | Mon, 23 Nov 2015 18:44:23 -0500 |
| parents | |
| children |
line wrap: on
line source
#!/usr/bin/env python import sys import time import ctypes first = None times = [] for i in range(10000): py_seqs = [] seq_len = 0 with open(sys.argv[1]) as infile: for line in infile: if line.startswith('>'): continue seq = line.strip() if len(seq) > seq_len: seq_len = len(seq) py_seqs.append(seq) seqs = (ctypes.c_char_p * len(py_seqs))() for j, seq in enumerate(py_seqs): seqs[j] = ctypes.c_char_p(seq) consensus = ctypes.cdll.LoadLibrary('./consensus.so') start = time.time() consensus.get_votes(seqs, len(seqs), seq_len) elapsed = 1000 * 1000 * (time.time() - start) if i == 0: first = elapsed else: times.append(elapsed) print '{:0.1f}\t{:0.1f}'.format(first, sum(times)/len(times))
