-
Notifications
You must be signed in to change notification settings - Fork 287
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
C++ ARIMA fixes and refactoring #939
Conversation
Thanks a lot! Just a small question, do you know if using C++20 would cause problems for users on old MacOS systems? We publish wheels for MacOS 10.13, which is fairly old and I'm not sure if there could be runtime crashes due to something not being in the system's libc++ |
According to https://en.cppreference.com/w/cpp/compiler_support/20, It's not used in the library interface, if it was there could be ABI issues if the library and calling code were compiled with different versions of clang and stdc++ (program loads the dynamic library and calls a function that has std::span as one of its arguments). I have no way to test it on MacOS 10.13, but I strongly doubt any issues could happen at runtime. With optimization, the entire |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot! Just some small comments.
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
CodSpeed Performance ReportMerging #939 will not alter performanceComparing Summary
|
I'm a bit confused about the failed tests on |
Don't worry, those were failing tests due to the float64 indices that were being generated. Everything looks good now, I just reverted a change that is made with newer versions of nbdev and was making the lint check fail, once the checks pass I'll merge this. Thanks a lot for your help! If you're interested, the ETS model could also use some cleanup or if you want to migrate some of the other models that currently use numba (described in #753 (comment)) we'd welcome that. |
Fixes #937. The code no longer segfaults in that scenario, but tries to allocate ~194 GB of memory and gets killed by oomkiller instead, would be probably nice to add an available memory check.
I had to bump cpp version to 20 in order to use
std::span
.All i did was change types to size_t/uint32 where it made sense, added const where it was possible and I also added some
assert
s on preconditions.I didn't find any tests, but i ran it before/after on the following configurations:
and got the exact same results.