(Potential) Performance issue of reconstitution of CompressedMatrix

Issue #39 resolved
byzhang created an issue

I'm following the wiki to load a sparse matrix: 1281433x766326 with 116280900 non zeros and 1405622292 bytes.

blaze::CompressedMatrix<int> S;
blaze::Archive<std::ifstream> archive( "matrices.blaze" );
archive >> S;

It spent about 30 minutes to finish the loading from a pretty-new ssd.

It's built with the head commit 8800657.

Is it an observed issue?

Or should I call this?

S.reserve(non_zeros);

Comments (3)

  1. Klaus Iglberger
    • changed status to open

    Thanks a lot for pointing out this issue. The problem is reproducible: Reading a matrix from file takes a multiple of writing the matrix to file.

  2. Klaus Iglberger

    The performance problem has been resolved: In the given example the time to deserialize a sparse matrix has been reduced from 30 minutes to approx. 30 seconds. We apologize for the inconvenience.

    The fix is immediately available via cloning the Blaze repository and will be officially released in Blaze 3.0.

  3. Log in to comment