是否可以为单个包声明优化?

时间:2013-07-15 10:24:01

标签: optimization common-lisp

我正在开发一个项目,我对矢量包感到满意,并希望尽可能地优化它,而不会影响构成项目的其他软件包。 我知道我可以在defun中使用以下内容来优化单个函数

(declare (optimize (speed 3) (safety 0)))

并且'declaim'可用于使效果全局化。

有没有办法优化包中的所有内容,还是在每个函数中声明更安全?

2 个答案:

答案 0 :(得分:4)

declaim的范围取决于实现。在SBCL中,我认为你可以使用with-compilation-unit来实现你想要的。但是,我怀疑它的实用性是出于性能目的:大多数时候,性能关键代码集中在很少的地方,并且你可能从其他代码获得的任何好处都不值得牺牲安全性和可调试性。< / p>

答案 1 :(得分:4)

您还可以在一个或多个表单周围使用LOCALLY