> On 11 Mar 2015, at 21:25, Svante v. Erichsen <svante.v.erich...@web.de> wrote: > > This begs the question: how do I get a speed optimized library then? Do I > need > to make a local fork just to insert declarations? Is there a way to tell
This is not up to the library writer to decde on this. This is up to the library final user. Declarations are global. When you are developping/debugging, you will set them to (optimize (speed 0) (space 0) (debug 3) (safety 3)). When generating the end-user executable, you will set them to (optimize (speed 3) (space 3) (debug 0) (safety 3)), if you follow Bertrand Meyer's advice. > e. g. ASDF to use certain declamations? Is making the declarations in the > library dependent on documented entries to *features* the way to go? Where > would I push the desired settings into *features*? Even if you set them in ASDF, you will have to have a way to tell it when you are debugging code (always), and when you are generating a end-user application (once in a blue moon, and in a different, explicitely controlled process). And yes, since asdf doesn't cache the compiled files in separate directories for the various optimization settings (or the various *features* list), since that would be very unwiedly, you have to clear the cache when you switch between generating the end-user application, and normal developping work. rm -rf ~/.cache/common-lisp/ is found in all application generation makefiles. Optimize declaimations and declarations in libraries is the curse of the CL application developper. -- __Pascal J. Bourguignon__
_______________________________________________ pro mailing list pro@common-lisp.net https://mailman.common-lisp.net/cgi-bin/mailman/listinfo/pro