Each table row shows performance measurements for this Nuitka program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 10,000 | 0.09 | 0.06 | ? | 573 | 75% 17% 0% 0% 0% 0% 29% 17% |
Read the ↓ make, command line, and program output logs to see how this program was run.
Read regex-dna benchmark to see what this program should do.
# The Computer Language Benchmarks Game
# http://shootout.alioth.debian.org/
# contributed by Dominique Wahli
# 2to3
# mp by Ahmad Syukri
# modified by Justin Peel
from sys import stdin
from re import sub, findall
from multiprocessing import Pool
def init(arg):
global seq
seq = arg
def var_find(f):
return len(findall(f, seq))
def main():
seq = stdin.read()
ilen = len(seq)
seq = sub('>.*\n|\n', '', seq)
clen = len(seq)
pool = Pool(initializer = init, initargs = (seq,))
variants = (
'agggtaaa|tttaccct',
'[cgt]gggtaaa|tttaccc[acg]',
'a[act]ggtaaa|tttacc[agt]t',
'ag[act]gtaaa|tttac[agt]ct',
'agg[act]taaa|ttta[agt]cct',
'aggg[acg]aaa|ttt[cgt]ccct',
'agggt[cgt]aa|tt[acg]accct',
'agggta[cgt]a|t[acg]taccct',
'agggtaa[cgt]|[acg]ttaccct')
for f in zip(variants, pool.imap(var_find, variants)):
print(f[0], f[1])
subst = {
'B' : '(c|g|t)', 'D' : '(a|g|t)', 'H' : '(a|c|t)', 'K' : '(g|t)',
'M' : '(a|c)', 'N' : '(a|c|g|t)', 'R' : '(a|g)', 'S' : '(c|g)',
'V' : '(a|c|g)', 'W' : '(a|t)', 'Y' : '(c|t)'}
for f, r in list(subst.items()):
seq = sub(f, r, seq)
print()
print(ilen)
print(clen)
print(len(seq))
main()
Sun, 23 Apr 2023 09:37:24 GMT MAKE: make[1]: Vstupuje se do adresáře „/home/dundee/work/pybenchmarks/bencher/tmp/regexdna/tmp“ nuitka3 --remove-output regexdna.nuitka Nuitka-Options:INFO: Used command line options: --remove-output regexdna.nuitka Nuitka-Options:WARNING: You did not specify to follow or include anything but main program. Check options and make sure that is intended. Nuitka:INFO: Starting Python compilation with Nuitka '1.5' on Python '3.10' commercial grade 'not installed'. Nuitka-Plugins:INFO: multiprocessing: Injecting pre-module load code for module 'multiprocessing': Nuitka-Plugins:INFO: multiprocessing: Monkey patching "multiprocessing" load environment. Nuitka-Plugins:INFO: multiprocessing: Injecting post-module load code for module 'multiprocessing': Nuitka-Plugins:INFO: multiprocessing: Monkey patching "multiprocessing" for compiled methods. Nuitka:INFO: Completed Python level compilation and optimization. Nuitka:INFO: Generating source code for C backend compiler. Nuitka:INFO: Running data composer tool for optimal constant value handling. Nuitka:INFO: Running C compilation via Scons. Nuitka-Scons:INFO: Backend C compiler: gcc (gcc). Nuitka-Scons:INFO: Backend linking program with 10 files (no progress information available). Nuitka-Scons:WARNING: You are not using ccache. Nuitka:INFO: Removing build directory 'regexdna.nuitka.build'. Nuitka:INFO: Successfully created 'regexdna.nuitka.bin'. cp regexdna.nuitka.bin regexdna.nuitka_run make[1]: Opouští se adresář „/home/dundee/work/pybenchmarks/bencher/tmp/regexdna/tmp“ 18.96s to complete and log all make actions COMMAND LINE: ./regexdna.nuitka_run 0 < regexdna-input10000.txt PROGRAM OUTPUT: agggtaaa|tttaccct 0 [cgt]gggtaaa|tttaccc[acg] 3 a[act]ggtaaa|tttacc[agt]t 9 ag[act]gtaaa|tttac[agt]ct 8 agg[act]taaa|ttta[agt]cct 10 aggg[acg]aaa|ttt[cgt]ccct 3 agggt[cgt]aa|tt[acg]accct 4 agggta[cgt]a|t[acg]taccct 3 agggtaa[cgt]|[acg]ttaccct 5 101745 100000 133640