Lisp Program much slower under V23 than V22

It's a simple batch plot routine that relies on doslib. It just plods along in v23 for some reason. Apparently judging from other posts v23 being slow is not an aberration. Anyone know what the culprit is?

Comments

  • I can't help with a direct answer to your question but I can say that V23.1.7 has not been as stable running lisp as V22 was. Some days V23 is fine. Some days I get error messages for lisp functions. A DWG file can be OK one day, be impossible to work with the next day because of lisp errors, then be absolutely fine the next day. When V23 is having a bad day I revert to V22 and V22 does not error using the same DWG and the exact same lisp file. I don't recall having these problems in V23.1.5 and earlier. Reloading the DWG or rebooting the computer does not help. My lisp routine file has a Windows file size of 1,030KB. It passes the BLADE syntax checker except for '(prin ', which works in Bricscad but apparently is unknown to BLADE.
  • Hi Tim, Martin,

    There is a known performance issue that we are looking at. Could you check whether being logged in or not makes a difference? (-LOGIN, -LOGOUT)

    Best regards,

    Ruben
  • I have the same problem.
    Solved by logging out, but the problem still return when I make the login again.

  • mecdep said:

    I have the same problem.
    Solved by logging out, but the problem still return when I make the login again.

    OK, then it is a known issue.
    Indeed, when logging in again, the problem returns.
    Our development team is looking into it.
  • Dear Martin,

    > It passes the BLADE syntax checker except for '(prin ', which works in Bricscad but apparently is unknown to BLADE.

    there is no "prin" function :-) But I see it works in V22 and V23 - much to my surprise :-)
    officially, only (print), (prin1) and (princ) are available, besides (prompt).

    Will check where (prin) originates from ... likely a "historical" bug, but I think, (prin) will remain then, to not break existing code.

    For the instabilities : yes, few reasons where found & fixed, mostly fixed with V23.1.07, some more is coming with V23.1.08 and V23.2 in spring time.
  • I believe that PRIN is a standard LISP function. I have been using PRIN going back to early Autocad LT with a certain lisp extender. Lee Mac uses it and I have seen PRIN used at CadTutor.

    I found this in an online search:
    "prin prints all arguments without adding any spaces or new lines."

  • as @martin@enco.us wrote -
    V23.1.7 has strange behavior with lisp.
    for example - I use INIGET with multiple selection options and a default.
    Sometimes the first letter is not emphasized and selectble, and some times (for the same lisp) it dose.
    I've repaired the V23.1.7 instalation and for now it looks like the problem is solved,but...
    other issue was that I've added an If condition inside a lisp,saved it and re-load it.it worked at that time,but when I've closed the software and re-opened it with that lisp marked as autoload,
    the lisp run without the new "if" (for some reason the lisp that was saved to memory was the old one,Although it no longer existed anywhere).
    I had to remove it from the appload option it the manage tab,close the software,re-open and re-load it from the appload manager (mark the load and autoload options).
  • Dear Martin,

    > I believe that PRIN is a standard LISP function. I have been using PRIN going back to early Autocad LT with a certain lisp extender. Lee Mac uses it and I have seen PRIN used at CadTutor.

    yes, PRIN is a function of "generic" Lisp, so that "survived" in both AutoCAD (from the underlying XLisp dialect) and BricsCAD (from underlying OpenLISP core) ... so that (prin) is in fact an oversight on both Lisp systems :-)
    And for sure, (prin) was never intended for both CAD systems, and was never documented for AutoCAD or BricsCAD :-)
    So best, to not use (prin) if ever possible
    (for clarity, I will not remove that (prin) from our Lisp engine, may it live its hidden life :-))

    thanks & greetings !
  • You can search directories for a string so could find all (prin) its a bit old fashioned DOS you go bottom left and type CMD this open the OS window using CD\yourdirectory will go to say your lisp directory then type Findstr (princ) *.lsp the screen should display all files and the line it occurs on.

    Another if your good at lisp is just read all files and look at each line then replace (prin) with (princ) in any line. Yes a bit complicated but doable.

    Notepad ++ has macro abilty so can open a file and replace all (prin)
    Word has VBA built in so could again do a macro and open .lsp files and replace. Just have to be careful that word saves as a text file.