Re: Fast versions of scipy.io.mmread/write

Ralf Gommers <[email protected]>
Newsgroups gmane.comp.python.scientific.devel
Message-ID <CABL7CQjc6POxfjHJn0nnkqufvD7wHBZjCoE0asSK6vSU0oKSqQ@mail.gmail.com>
On Wed, Apr 12, 2023 at 9:57 AM <[email protected]> wrote:

> Hi,
>
> I'm the author of fast_matrix_market, a package that reads and writes
> Matrix Market files:
> https://github.com/alugowski/fast_matrix_market/tree/main/python
>
> The Python binding is API compatible with scipy.io.mmio, but about 25x
> faster. A few other handy improvements include 64-bit indices (only if
> necessary), direct csc/csr writes with no coo intermediary, longdouble. It
> passes the SciPy mmio test suite.
>
> Would there be any interest in somehow integrating this library into SciPy?
>
> The speed difference really does make a big difference for large files.
>
> The package is written in C++17 and pybind11. Threading is with a simple
> thread pool based on c++11 threads, but can be changed.
> A significant part of the speed increase is parsing with std::from_chars
> instead of strto*, which alone contributes a massive improvement.
>

Thanks for this package and proposal Adam! I had a quick look at your
package, and it looks good to me. This kind of upstreaming of code, when
there's a clear performance benefit and the code is maintained, seems nice
to me. Just to make sure: are you planning to continue maintaining this
code? Either within SciPy only, or also as a separate package and keeping
the two in sync?

The C++17 should be fine as far as I can tell - our
http://scipy.github.io/devdocs/dev/toolchain.html has an upgrade to C++17
marked for 2022 already, so as long as things build with what MSVC provides
(the usual limiting factor), that should be good.

Cheers,
Ralf

_______________________________________________
SciPy-Dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/scipy-dev.python.org/
Member address: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.