mck*_*mck 5 performance typing common-lisp
我最近开始摆弄类型说明符以提高代码效率.这是Common Lisp标准中所有类型说明符号的列表.
我看不到穿过森林的树.
任何人都可以给出(或指向)不同类型说明符的简短描述,并且何时可以使用它们?
虽然我有兴趣了解所有这些,但我直接感兴趣的是数字相关类型之间的差异(fixnum,bignum,float,single-float,short-float等...)
这是一个典型的实现:
fixnum是一个适合机器寄存器的小整数; 它是最快的整数
bignum 是一个无限大小的整数
double-float是IEEE双精度浮点数; 它也可能非常快,具体取决于您的计算机
single-float是IEEE单精度浮点数; 它具有较小的范围和精度,可能比双倍慢,但占用的内存较少
short-float并且long-float通常映射到上述两种类型,但也可能不同,这取决于您的CL实现