# CSC kills the prospect of multithreading. Shouldn't Julia use CSR?

**URL:** <https://discourse.julialang.org/t/csc-kills-the-prospect-of-multithreading-shouldnt-julia-use-csr/102491>\
**Category:** Julia at Scale\
**Tags:** sparse\
**Created:** [August 4, 2023, 3:22pm UTC](https://discourse.julialang.org/t/csc-kills-the-prospect-of-multithreading-shouldnt-julia-use-csr/102491 "2023-08-04T15:22:26Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [August 4, 2023, 9:24pm UTC](https://discourse.julialang.org/t/csc-kills-the-prospect-of-multithreading-shouldnt-julia-use-csr/102491/6 "2023-08-04T21:24:02Z")

</div>

> [@stevengj](#):
>
> In any case, one option is simply to use `transpose(A)`, since `Transpose{T, <:SparseMatrixCSC{T}}` is effectively a CSR sparse matrix.

I seem to remember reading that this is not as efficient as it looks, eg here

> [@What to do since CSR matrixes are not in Sparse Arrays?](https://discourse.julialang.org/t/what-to-do-since-csr-matrixes-are-not-in-sparse-arrays/53991/6):
>
> I ran some benchmarks using the suggestions of @rdeits and @Oscar_Smith . The example matrix is the 2D finite-difference laplacian on a grid of 10,000 x 10,000 points. The “CSR” matrix is the transpose of the CSC matrix. Below are the benchmark results and a conclusion. All times are the minimum benchmark time: Thoughts? I can provide the pluto notebook upon request.

But I don’t know what those benchmarks are worth

---

_[View the full topic](https://discourse.julialang.org/t/csc-kills-the-prospect-of-multithreading-shouldnt-julia-use-csr/102491)._
