Replies: 1 comment 5 replies
-
My two cents, and echoing #1906 (comment): although I personally am very willing to learn new languages and toolchains, I am quite hesitant to introduce them to pvlib-python. It seems unlikely to me that such a large increase in project complexity is warranted when we can get comparable performance improvements with numba today, or wait a little while for the arrays api to mature and give us JAX/GPU arrays for free(?). I think serious consideration of a second language would need to start with a demonstration that the new language is meaningfully better than the tools currently at our disposal. I'd be very interested in such an example!
It's a bit of a tangent, but I think that C code should be considered an oddity, not a precedent; the reference SPA implementation from NREL is written in C, and in the beginning it was handy to be able to easily compare its output with that of pvlib's own implementations. I doubt it gets much use today. I think if you try it, you'll find that the C version is actually slower than pvlib's implementations due to the time series iteration being in python rather than C: https://github.com/pvlib/pvlib-python/blob/main/pvlib/solarposition.py#L215 |
Beta Was this translation helpful? Give feedback.
-
Hello maintainers,
I have been playing around with the Rust programming language and I was wondering if Rust code would be welcome in pvlib? I have noticed some programs which already have some C code (SPA). The rust code would not give much advantage over existing C versions and would be less readable for users than native python and numpy implementations, but could give memory and speed improvements for functions which do not have a C implementation.
Beta Was this translation helpful? Give feedback.
All reactions