-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance goals #12
Comments
Hi, thanks for writing. I had considered a similar approach and think it worth looking at. In my case the data sets didn't justify the effort, as the existing code was 'fast enough', but I certainly wouldn't oppose performance improvements. I think Just one comment on CLTL2: I expect that Lisp-Stat will probably always be SBCL specific, so there's no harm in relying on |
Okay, I found some time to take a look at this. In several cases (eg: In cases where static-dispatch seems to be the best bet, especially on SBCL. Incorporating it is as simple as replacing |
Hmmm. I think you're right, static-dispatch seems the best way forward, and it's simple. |
But should static-dispatch be made the default, or should there be a separate system |
I'd suggest starting with a separate system; after a while if no issues are detected, we can fold it into the main system. |
Okay! Erm, another decision: should both versions be able to coexist in a single lisp image, or should only one of them exist in the image at any given time? For both of them to coexist, we will also need to rename the packages appropriately. Two ways to achieve this I know of include: (i) Copying all the files and appropriately replacing the in-package lines. This has long term maintenance costs because any change will need to be made in both the files. (ii) Having a While, if only one of them needs to be in the image, then we can keep the package names as they are; add in a new packages.lisp, and then symlink to the other existing files without making any changes to them. I find this the simplest, albeit with the cost that not both versions can coexist in a single image. |
Probably only one needs to be in an image at the same time. I can't imagine a situation where both would be needed. |
Hello, thank you for taking up the maintenance of various libraries as part of lisp-stat!
In my free time, I have been working on numericals built upon polymorphic-functions. But this requires CLTL2 support, and even slightly more than that.
I like the functionality of numerical-utilities as well as lisp-stat systems in general, but do feel that they can use a performance boost wherever possible. In some cases, this could be as simple as inline-ing a function; in other cases, especially if we depend on CFFI libraries, I am not sure builtin optimizations would be sufficient since we might need to dispatch on array element types. I was considering rewriting the relevant parts using polymorphic-functions, but I wondered if I should write it under the system
numerical-utilities/polymorphic-functions
and let it stay under this repository, or if I should let the lisp-stat systems stay in ANSI CL and make the copy undernumericals
itself. Let me know what your goals and preferences are!The text was updated successfully, but these errors were encountered: