4 ms·
To those who know the SBCL compiler better: The paper says that to get the speed they had to turn off run time type checking, but they say "here's how to do it
by Avshalom 16y ago
To those who know the SBCL compiler better:
The paper says that to get the speed they had to turn off run time type checking, but they say "here's how to do it globally" does that mean you can turn of type checking in just one module or function?
- martincmartin 16y agoYes. The Common Lisp spec says you can put declarations a lot of places, including prog: http://clhs.lisp.se/Body/s_declar.htm http://clhs.lisp.se/Body/s_declar.htm So you can basically wrap it around any S-expression you want. When I was at ITA we did that a lot. For example, there was a macro i+ that would expand to basically "the two arguments are fixnums, as is the result. Now, please give me the sum." In debug builds, the type declarations would be come assertions. In release builds, they'd become assumptions, i.e. the whole thing would compile to a single x64 ADD instruction.
- deleted 16y ago[deleted]
- lispm 16y agoCommon Lisp allows you to wrap declarations around forms. Use LOCALLY for that.