notes, command-line, and program output
NOTES:
64-bit Ubuntu quad core
SBCL 2.3.0
Wed, 25 Jan 2023 20:02:35 GMT
MAKE:
cp: 'knucleotide.sbcl' and './knucleotide.sbcl' are the same file
SBCL built with: /opt/src/sbcl-2.3.0/bin/sbcl --userinit /dev/null --batch --eval '(load "knucleotide.sbcl_compile")'
### START knucleotide.sbcl_compile
(handler-bind ((sb-ext:defconstant-uneql (lambda (c) (abort c)))) (require :sb-concurrency) (load (compile-file "knucleotide.sbcl" ))) (save-lisp-and-die "sbcl.core" :purify t)
### END knucleotide.sbcl_compile
; compiling file "/home/dunham/all-benchmarksgame/benchmarksgame_i53330/knucleotide/tmp/knucleotide.sbcl" (written 26 APR 2018 12:48:18 PM):
; file: /home/dunham/all-benchmarksgame/benchmarksgame_i53330/knucleotide/tmp/knucleotide.sbcl
; in: DEFUN MY-TR-RUN
; (ELT KNUCLEOTIDE::*MY-TASK-LIST* KNUCLEOTIDE::TASKINDEX)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a VECTOR, not a (SIMPLE-ARRAY * (*)).
; (FUNCALL (KNUCLEOTIDE::MY-TASK-MYLAMBDA KNUCLEOTIDE::THETASK))
;
; note: unable to
; optimize away possible call to FDEFINITION at runtime
; because:
; callable expression is not known to be a function
; in: DEFUN WRITE-FREQUENCIES
; (SORT KNUCLEOTIDE::FREQ
; (LAMBDA (KNUCLEOTIDE::X KNUCLEOTIDE::Y)
; (> (CDR KNUCLEOTIDE::X) (CDR KNUCLEOTIDE::Y))))
; --> BLOCK LET SB-IMPL::SEQ-DISPATCH IF LET SB-IMPL::STABLE-SORT-LIST BLOCK
; --> LABELS SB-IMPL::MERGE* BLOCK VALUES SB-IMPL::MERGE-LISTS*
; ==>
; SB-IMPL::TEST
;
; note: could not stack allocate SB-IMPL::TEST in:
; (SORT FREQ (LAMBDA (X Y) (> (CDR X) (CDR Y))))
; ==>
; SB-IMPL::KEY
;
; note: could not stack allocate SB-IMPL::KEY in:
; (SORT FREQ (LAMBDA (X Y) (> (CDR X) (CDR Y))))
; --> BLOCK LET SB-IMPL::SEQ-DISPATCH IF LET SB-IMPL::STABLE-SORT-LIST
; ==>
; SB-IMPL::PREDICATE-FUN
;
; note: could not stack allocate SB-IMPL::PREDICATE-FUN in:
; (SORT FREQ (LAMBDA (X Y) (> (CDR X) (CDR Y))))
; (MAKE-ARRAY
; (HASH-TABLE-COUNT (KNUCLEOTIDE::RESULT-OUTMAP KNUCLEOTIDE::FREQUENCIES))
; :FILL-POINTER 0 :ELEMENT-TYPE 'CONS)
;
; caught STYLE-WARNING:
; The default initial element 0 is not a CONS.
; See also:
; The ANSI Standard, Function MAKE-ARRAY
; The ANSI Standard, Function UPGRADED-ARRAY-ELEMENT-TYPE
; (SORT KNUCLEOTIDE::FREQ
; (LAMBDA (KNUCLEOTIDE::X KNUCLEOTIDE::Y)
; (> (CDR KNUCLEOTIDE::X) (CDR KNUCLEOTIDE::Y))))
; --> LOCALLY SB-C::%FUNCALL
; ==>
; SB-IMPL::PREDICATE
;
; note: could not stack allocate: (SORT FREQ (LAMBDA (X Y) (> (CDR X) (CDR Y))))
; (> (CDR KNUCLEOTIDE::X) (CDR KNUCLEOTIDE::Y))
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a REAL, not a SINGLE-FLOAT.
; The second argument is a REAL, not a DOUBLE-FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a REAL, not a DOUBLE-FLOAT.
; The second argument is a REAL, not a SINGLE-FLOAT.
;
; note: unable to
; open-code FLOAT to RATIONAL comparison
; due to type uncertainty:
; The first argument is a REAL, not a FLOAT.
; The second argument is a REAL, not a RATIONAL.
; (* KNUCLEOTIDE::VALUE 100.0)
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a RATIONAL.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a DOUBLE-FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
; (/ (* KNUCLEOTIDE::VALUE 100.0) KNUCLEOTIDE::TOTALCOUNT)
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a FLOAT.
; The second argument is a NUMBER, not a RATIONAL.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a (OR
; (COMPLEX
; SINGLE-FLOAT)
; (COMPLEX
; DOUBLE-FLOAT)).
; The second argument is a NUMBER, not a RATIONAL.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a DOUBLE-FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a DOUBLE-FLOAT.
; The second argument is a NUMBER, not a SINGLE-FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a (COMPLEX
; DOUBLE-FLOAT).
; The second argument is a NUMBER, not a SINGLE-FLOAT.
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a (COMPLEX
; SINGLE-FLOAT).
; The second argument is a NUMBER, not a (COMPLEX SINGLE-FLOAT).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a (COMPLEX SINGLE-FLOAT).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a (COMPLEX
; DOUBLE-FLOAT).
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a DOUBLE-FLOAT.
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
; (* KNUCLEOTIDE::VALUE 100.0)
;
; note: forced to do GENERIC-* (cost 30)
; unable to do inline float arithmetic (cost 4) because:
; The first argument is a NUMBER, not a SINGLE-FLOAT.
; The result is a (VALUES
; (OR FLOAT (COMPLEX SINGLE-FLOAT) (COMPLEX DOUBLE-FLOAT))
; &OPTIONAL), not a (VALUES SINGLE-FLOAT &OPTIONAL).
; unable to do inline float arithmetic (cost 4) because:
; The first argument is a NUMBER, not a (COMPLEX SINGLE-FLOAT).
; The result is a (VALUES
; (OR FLOAT (COMPLEX SINGLE-FLOAT) (COMPLEX DOUBLE-FLOAT))
; &OPTIONAL), not a (VALUES (COMPLEX SINGLE-FLOAT)
; &OPTIONAL).
; (/ (* KNUCLEOTIDE::VALUE 100.0) KNUCLEOTIDE::TOTALCOUNT)
;
; note: forced to do full call
; unable to do inline float arithmetic (cost 12) because:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a SINGLE-FLOAT.
; The result is a (VALUES
; (OR FLOAT (COMPLEX SINGLE-FLOAT) (COMPLEX DOUBLE-FLOAT))
; &OPTIONAL), not a (VALUES SINGLE-FLOAT &OPTIONAL).
; unable to do inline float arithmetic (cost 12) because:
; The first argument is a (OR FLOAT (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)), not a (COMPLEX
; SINGLE-FLOAT).
; The second argument is a NUMBER, not a SINGLE-FLOAT.
; The result is a (VALUES
; (OR FLOAT (COMPLEX SINGLE-FLOAT) (COMPLEX DOUBLE-FLOAT))
; &OPTIONAL), not a (VALUES (COMPLEX SINGLE-FLOAT)
; &OPTIONAL).
; etc.
; (> (CDR KNUCLEOTIDE::X) (CDR KNUCLEOTIDE::Y))
;
; note: forced to do GENERIC-> (cost 10)
; unable to do inline float comparison (cost 3) because:
; The first argument is a REAL, not a SINGLE-FLOAT.
; The second argument is a REAL, not a SINGLE-FLOAT.
; unable to do inline float comparison (cost 3) because:
; The first argument is a REAL, not a DOUBLE-FLOAT.
; The second argument is a REAL, not a DOUBLE-FLOAT.
; etc.
; in: DEFUN WRITE-COUNT
; (MAP '(VECTOR (UNSIGNED-BYTE 8)) #'CHAR-CODE KNUCLEOTIDE::NUCLEOTIDEFRAGMENT)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
; (LENGTH KNUCLEOTIDE::NUCLEOTIDEFRAGMENT)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
; (LOOP KNUCLEOTIDE::FOR KNUCLEOTIDE::TASK KNUCLEOTIDE::ACROSS KNUCLEOTIDE::TASKS
; KNUCLEOTIDE::FOR KNUCLEOTIDE::RESULT = (KNUCLEOTIDE::MY-TASK-RESULT
; KNUCLEOTIDE::TASK)
; DO (IF (EQL (KNUCLEOTIDE::RESULT-KEYLENGTH KNUCLEOTIDE::RESULT)
; (LENGTH KNUCLEOTIDE::NUCLEOTIDEFRAGMENT))
; (SETF COUNT (+ COUNT #))))
; --> LET LET LET TAGBODY SB-LOOP::LOOP-DESETQ SETQ THE AREF
; ==>
; 1
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a VECTOR, not a SIMPLE-STRING.
;
; note: unable to
; avoid runtime dispatch on array element type
; due to type uncertainty:
; The first argument is a VECTOR, not a SIMPLE-ARRAY.
; (LENGTH KNUCLEOTIDE::NUCLEOTIDEFRAGMENT)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
; (+ COUNT
; (GETHASH KNUCLEOTIDE::K (KNUCLEOTIDE::RESULT-OUTMAP KNUCLEOTIDE::RESULT)
; 0))
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a RATIONAL.
; The second argument is a NUMBER, not a FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a FLOAT.
; The second argument is a NUMBER, not a RATIONAL.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a RATIONAL.
; The second argument is a NUMBER, not a (OR (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)).
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a (OR (COMPLEX SINGLE-FLOAT)
; (COMPLEX DOUBLE-FLOAT)).
; The second argument is a NUMBER, not a RATIONAL.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a DOUBLE-FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a DOUBLE-FLOAT.
; The second argument is a NUMBER, not a SINGLE-FLOAT.
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
;
; note: unable to
; open-code float conversion in mixed numeric operation
; due to type uncertainty:
; The first argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
; The second argument is a NUMBER, not a SINGLE-FLOAT.
;
; note: forced to do GENERIC-+ (cost 10)
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a NUMBER, not a FIXNUM.
; The second argument is a NUMBER, not a FIXNUM.
; The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES FIXNUM &OPTIONAL).
; unable to do inline float arithmetic (cost 2) because:
; The first argument is a NUMBER, not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a SINGLE-FLOAT.
; The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES SINGLE-FLOAT
; &OPTIONAL).
; etc.
; in: DEFUN READ-IN-DATA-NEW
; (SUBSEQ KNUCLEOTIDE::LINE 0 6)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a LIST.
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a SB-KERNEL:EXTENDED-SEQUENCE.
; (ELT KNUCLEOTIDE::LINE 0)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a (SIMPLE-ARRAY * (*)).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a LIST.
; (LENGTH KNUCLEOTIDE::LINE)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
; (ELT KNUCLEOTIDE::LINE KNUCLEOTIDE::I)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a (SIMPLE-ARRAY * (*)).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a LIST.
; in: DEFUN MAIN
; (LENGTH KNUCLEOTIDE::MSEQUENCE)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
; (ELT KNUCLEOTIDE::*MY-TASK-LIST* 0)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a VECTOR, not a (SIMPLE-ARRAY * (*)).
; (LENGTH KNUCLEOTIDE::MSEQUENCE)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a SEQUENCE, not a VECTOR.
; (ELT KNUCLEOTIDE::*MY-TASK-LIST* 1)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a VECTOR, not a (SIMPLE-ARRAY * (*)).
; (ELT KNUCLEOTIDE::*MY-TASK-LIST* 2)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a VECTOR, not a (SIMPLE-ARRAY * (*)).
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
; printed 54 notes
; wrote /home/dunham/all-benchmarksgame/benchmarksgame_i53330/knucleotide/tmp/knucleotide.fasl
; compilation finished in 0:00:00.175
### START knucleotide.sbcl_run
(main) (quit)
### END knucleotide.sbcl_run
3.04s to complete and log all make actions
COMMAND LINE:
/opt/src/sbcl-2.3.0/bin/sbcl --noinform --core sbcl.core --userinit /dev/null --load knucleotide.sbcl_run 0 < knucleotide-input25000000.txt
PROGRAM OUTPUT:
A 30.295
T 30.151
C 19.800
G 19.754
AA 9.177
TA 9.132
AT 9.131
TT 9.091
CA 6.002
AC 6.001
AG 5.987
GA 5.984
CT 5.971
TC 5.971
GT 5.957
TG 5.956
CC 3.917
GC 3.911
CG 3.909
GG 3.902
1471758 GGT
446535 GGTA
47336 GGTATT
893 GGTATTTTAATT
893 GGTATTTTAATTTATAGT