История изменений
Исправление
deadplace,
(текущая версия)
:
(defun foo (x)
(declare (type single-float x)
(optimize (speed 3)))
(* 2 x))
(defun bar (x)
(declare (type number x)
(optimize (speed 3)))
(* 2 x))
(disassemble 'foo)
; disassembly for FOO
; Size: 23 bytes. Origin: #x2273805F ; FOO
; 5F: F30F58C9 ADDSS XMM1, XMM1
; 63: 660F7ECA MOVD EDX, XMM1
; 67: 48C1E220 SHL RDX, 32
; 6B: 80CA19 OR DL, 25
; 6E: 488BE5 MOV RSP, RBP
; 71: F8 CLC
; 72: 5D POP RBP
; 73: C3 RET
; 74: CC10 INT3 16 ; Invalid argument count trap
NIL
* (disassemble 'bar)
; disassembly for BAR
; Size: 20 bytes. Origin: #x227380F7 ; BAR
; 0F7: BF04000000 MOV EDI, 4
; 0FC: FF1425B800B021 CALL QWORD PTR [#x21B000B8] ; GENERIC-*
; 103: 488BE5 MOV RSP, RBP
; 106: F8 CLC
; 107: 5D POP RBP
; 108: C3 RET
; 109: CC10 INT3 16 ; Invalid argument count trap
NIL
*
Нет разницы по твоему?
Исходная версия
deadplace,
:
[code] (defun foo (x) (declare (type single-float x) (optimize (speed 3))) (* 2 x))
(defun bar (x) (declare (type number x) (optimize (speed 3))) (* 2 x))
(disassemble ’foo) ; disassembly for FOO ; Size: 23 bytes. Origin: #x2273805F ; FOO ; 5F: F30F58C9 ADDSS XMM1, XMM1 ; 63: 660F7ECA MOVD EDX, XMM1 ; 67: 48C1E220 SHL RDX, 32 ; 6B: 80CA19 OR DL, 25 ; 6E: 488BE5 MOV RSP, RBP ; 71: F8 CLC ; 72: 5D POP RBP ; 73: C3 RET ; 74: CC10 INT3 16 ; Invalid argument count trap NIL
- (disassemble ’bar) ; disassembly for BAR ; Size: 20 bytes. Origin: #x227380F7 ; BAR ; 0F7: BF04000000 MOV EDI, 4 ; 0FC: FF1425B800B021 CALL QWORD PTR [#x21B000B8] ; GENERIC-* ; 103: 488BE5 MOV RSP, RBP ; 106: F8 CLC ; 107: 5D POP RBP ; 108: C3 RET ; 109: CC10 INT3 16 ; Invalid argument count trap NIL
[/code]
Нет разницы по твоему?