Lisps Loading

Hi all -

we are using various lisps (for more than 20 years now, i guess - back to AC days...)
In current version (V22) we are having them loaded via APPLOAD.
(Up until BC V15 those Lisps where loaded from a certain folder via on_doc_load, only afterwards (V18, and now V22) it doesn't load anymore - my guessing it's due to code configurations (which i know nothing of....) changes in more advanced versions).

I read somewhere that the more Lisps loaded (by APPLOAD) when opening a BC instance, the heavier the burden is on the file/software performance.
Since many of those lisps i don't even know if we actually use - is there a variable or specification that allows load of a specific app/lisp from the list APPLOAD **only ** when it is called for by launching a command while drafting ?

Thanx,
Assaf

Comments

  • Dear Assaf,

    the approach via on_doc_load.lsp should still be fine ...
    key point is, that BricsCAD needs to find your on_doc_load.lsp file ...
    simple test :
    (findfile "on_doc_load.lsp")
    if it is NIL, or a wrong file, then you need to adjust the support paths list in SRCHPATH (see Settings dialog) ...

    in Appload, if that "AutoLoad" is not checked, then a doubleclick on the file, or click into that column, will load a particular Lisp file ...

    Loading "on-demand" (as you mentioned, loading the Lisp code when a particular command is entered) is also possible, but requires a bit work, using the (autoload ...) function family, so a somewhat experienced Lisp developer should/could do that with your code.

    A minor hint :
    likely in next or overnext upcoming BricsCAD update, there is an internal change in APPLOAD dialog, which then does no longer force the VBA runtime to be initialised, unconditionally ...
    the initialised VBA runtime in fact costs a remarkable amount of overall performance in BricsCAD, for entire BricsCAD, not only Lisp ...
    so that internal improvement will result in a general overall performance improvement.

    the more Lisps loaded (by APPLOAD) when opening a BC instance, the heavier the burden is on the file/software performance.

    depends :-)
    only, if that loaded Lisp code uses reactors, and those reactor event handlers are not efficiently programmed, then it can have an impact on overall performance ... but without reactors, the BricsCAD overall performance is not affected, and if the reactor event handlers are wll designed, performance impact is at least (very) small ... especially in BricsCAD >= V21 :-)

    many greetings !