notes, command-line, and program output
NOTES:
64-bit Ubuntu quad core
SBCL 2.0.4
Thu, 21 May 2020 23:44:43 GMT
MAKE:
cp: 'knucleotide.sbcl-3.sbcl' and './knucleotide.sbcl-3.sbcl' are the same file
SBCL built with: /usr/local/bin/sbcl --userinit /dev/null --batch --eval '(load "knucleotide.sbcl-3.sbcl_compile")'
### START knucleotide.sbcl-3.sbcl_compile
(handler-bind ((sb-ext:defconstant-uneql (lambda (c) (abort c)))) (require :sb-concurrency) (load (compile-file "knucleotide.sbcl-3.sbcl" ))) (save-lisp-and-die "sbcl.core" :purify t)
### END knucleotide.sbcl-3.sbcl_compile
; compiling file "/home/dunham/8000-benchmarksgame/bench/knucleotide/knucleotide.sbcl-3.sbcl" (written 26 APR 2018 12:48:18 PM):
; compiling (DEFUN SLICE-AND-DICE ...)
; file: /home/dunham/8000-benchmarksgame/bench/knucleotide/knucleotide.sbcl-3.sbcl
; in: DEFUN SLICE-AND-DICE
; (EXPT 4 K)
; --> LET
; ==>
; (ASH 1 (* (ABS SB-C::POWER) 2))
;
; note: forced to do full call
; unable to do inline ASH (cost 3) because:
; The second argument is a (MOD 9223372036854775809), not a (UNSIGNED-BYTE
; 62).
; The result is a (VALUES (INTEGER 1) &OPTIONAL), not a (VALUES FIXNUM
; &REST T).
; unable to do inline ASH (cost 3) because:
; The second argument is a (MOD 9223372036854775809), not a (UNSIGNED-BYTE
; 62).
; The result is a (VALUES (INTEGER 1) &OPTIONAL), not a (VALUES FIXNUM
; &REST T).
; etc.
; (1- (EXPT 4 K))
; ==>
; (- (EXPT 4 K) 1)
;
; note: forced to do GENERIC-- (cost 10)
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a (RATIONAL 0), not a FIXNUM.
; The result is a (VALUES (RATIONAL -1) &OPTIONAL), not a (VALUES FIXNUM
; &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a (RATIONAL 0), not a FIXNUM.
; The result is a (VALUES (RATIONAL -1) &OPTIONAL), not a (VALUES FIXNUM
; &REST T).
; etc.
; (LOGAND MASK (LETTER-TO-NUM GENE I GENE-NUM))
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a (INTEGER -1), not a FIXNUM.
; The second argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline (signed-byte 64) arithmetic (cost 3) because:
; The first argument is a (INTEGER -1), not a (SIGNED-BYTE 64).
; The second argument is a INTEGER, not a (SIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (SIGNED-BYTE 64) &REST
; T).
; etc.
; (EXPT 4 K)
; --> LET
; ==>
; (ASH 1 (* (ABS SB-C::POWER) 2))
;
; note: doing unsigned word to integer coercion (cost 20)
; compiling (DECLAIM (INLINE LETTER-TO-NUM))
; file: /home/dunham/8000-benchmarksgame/bench/knucleotide/knucleotide.sbcl-3.sbcl
; in: DECLAIM (INLINE LETTER-TO-NUM)
; (DECLAIM (INLINE LETTER-TO-NUM))
; --> EVAL-WHEN
; ==>
; (SB-C::%PROCLAIM '(INLINE LETTER-TO-NUM) (SB-C:SOURCE-LOCATION))
;
; caught STYLE-WARNING:
; Proclaiming COMMON-LISP-USER::LETTER-TO-NUM to be INLINE, but 1 call to it was
; previously compiled. A declaration of NOTINLINE at the call site will eliminate
; this warning, as will proclaiming and defining the function before its first
; potential use.
; compiling (DEFUN LETTER-TO-NUM ...)
; file: /home/dunham/8000-benchmarksgame/bench/knucleotide/knucleotide.sbcl-3.sbcl
; in: DEFUN LETTER-TO-NUM
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; (LOGXOR (ASH IDX 2) 3)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; (LOGXOR (ASH IDX 2) 2)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; (LOGXOR (ASH IDX 2) 1)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; compiling (DECLAIM (INLINE GENE-TO-NUM))
; compiling (DEFUN GENE-TO-NUM ...)
; file: /home/dunham/8000-benchmarksgame/bench/knucleotide/knucleotide.sbcl-3.sbcl
; in: DEFUN GENE-TO-NUM
; (LETTER-TO-NUM GENE I GENE-NUM)
; --> BLOCK ECASE LET COND IF IF IF IF PROGN LOGXOR
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; --> BLOCK ECASE LET COND IF IF IF IF PROGN
; ==>
; (LOGXOR (ASH IDX 2) 3)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; --> BLOCK ECASE LET COND IF IF IF PROGN LOGXOR
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; --> BLOCK ECASE LET COND IF IF IF PROGN
; ==>
; (LOGXOR (ASH IDX 2) 2)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; --> BLOCK ECASE LET COND IF IF PROGN LOGXOR
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; --> BLOCK ECASE LET COND IF IF PROGN
; ==>
; (LOGXOR (ASH IDX 2) 1)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; --> BLOCK ECASE LET COND IF PROGN
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; compiling (DECLAIM (INLINE NUM-TO-GENE))
; compiling (DEFUN NUM-TO-GENE ...)
; compiling (DEFUN DISCARD-DATA-HEADER ...)
; compiling (DEFUN READ-DATA ...)
; compiling (DEFUN PRINT-PRECENTAGES ...)
; compiling (DEFUN PRINT-OCCURENCE ...)
; file: /home/dunham/8000-benchmarksgame/bench/knucleotide/knucleotide.sbcl-3.sbcl
; in: DEFUN PRINT-OCCURENCE
; (GENE-TO-NUM SLICE)
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF IF IF IF PROGN LOGXOR
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF IF IF IF PROGN
; ==>
; (LOGXOR (ASH IDX 2) 3)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF IF IF PROGN LOGXOR
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF IF IF PROGN
; ==>
; (LOGXOR (ASH IDX 2) 2)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF IF PROGN LOGXOR
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF IF PROGN
; ==>
; (LOGXOR (ASH IDX 2) 1)
;
; note: forced to do full call
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; --> BLOCK LET DOTIMES DO BLOCK LET TAGBODY TAGBODY SETF SETQ THE
; --> LETTER-TO-NUM BLOCK ECASE LET COND IF PROGN
; ==>
; (ASH IDX 2)
;
; note: forced to do full call
; unable to do inline ASH (cost 2) because:
; The first argument is a INTEGER, not a FIXNUM.
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline ASH (cost 3) because:
; The first argument is a INTEGER, not a (UNSIGNED-BYTE 64).
; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
; (UNSIGNED-BYTE 64)
; &REST T).
; etc.
; compiling (DEFUN MAIN ...)
; compiling (DEFUN TEST ...);
; compilation unit finished
; caught 1 STYLE-WARNING condition
; printed 25 notes
; wrote /home/dunham/benchmarksgame_quadcore/knucleotide/tmp/knucleotide.sbcl-3.fasl
; compilation finished in 0:00:00.335
### START knucleotide.sbcl-3.sbcl_run
(main) (quit)
### END knucleotide.sbcl-3.sbcl_run
4.86s to complete and log all make actions
COMMAND LINE:
/usr/local/bin/sbcl --noinform --core sbcl.core --userinit /dev/null --load knucleotide.sbcl-3.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