我正在開發一個項目,對矢量包感到滿意,並希望儘可能優化它,而不會影響組成項目的其他包。 我知道我可以使用下面的一個defun定義裏面,以優化單一功能是否有可能爲單個包聲明優化?
(declare (optimize (speed 3) (safety 0)))
,並認爲「朗誦」可用於使效果全局。
有沒有一種方法來優化軟件包中的所有內容,還是隻需要在每個函數中聲明都更安全?
我正在開發一個項目,對矢量包感到滿意,並希望儘可能優化它,而不會影響組成項目的其他包。 我知道我可以使用下面的一個defun定義裏面,以優化單一功能是否有可能爲單個包聲明優化?
(declare (optimize (speed 3) (safety 0)))
,並認爲「朗誦」可用於使效果全局。
有沒有一種方法來優化軟件包中的所有內容,還是隻需要在每個函數中聲明都更安全?
declaim的範圍取決於實現。在SBCL中,我認爲你可以使用with-compilation-unit來實現你想要的。然而,我懷疑這是否有效用於性能目的:大多數時間性能關鍵代碼都集中在少數幾個地方,無論您從代碼的其他部分獲得的收益如何,都不值得犧牲安全性和可調試性。
乾杯!我會去更精細的控制,但很高興知道這個結構。 – Baggers