Mercurial > repos > nick > duplex
view consensus-time.py @ 18:e4d75f9efb90 draft
planemo upload commit b'4303231da9e48b2719b4429a29b72421d24310f4\n'-dirty
author | nick |
---|---|
date | Thu, 02 Feb 2017 18:44:31 -0500 |
parents | af383638de66 |
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))