Skip to content
Nikolaj edited this page Jan 21, 2016 · 58 revisions

Comparison benchmarks

⚠️ ALL benchmarks must be redone! ⚠️

What is it?

Simple comparisons between:

See the *.bench.txt and the corresponding *.py files in performance/comparisons for more details.

Results

Legend

  • CySparse : ✅
  • PySparse : 🔴
  • SpPy: 💛
  • SciPy.sparse : 🔸
  • Worth further investigation: ❓

More symbols means more performance gains between the winner and the second one.

Table LLSparseMatrix

What Link Contestants Winner
A * x matvec ✅ 🔴 🔸 -
A^t * x matvec_transp -
A[i,j] = x simple element assignment -
x = A[i,j] simple element retrieval
col_scale col_scale ✅ ✅
col_scale strided col_scale_strided ✅ ✅
row_scale row_scale
row_scale strided row_scale_strided
norm_inf norm_inf -
norm_frob norm_frob -
norm_frob sym norm_frob_sym -
norm_one norm_one
generalize generalize -
scale scale -
copy copy ✅ ✅
take take
shift shift
matdot matdot - ❓
delete_rows delete_rows
update_add_at update_add_at ✅ ✅
put put ✅ 🔴 💛
find find 🔴
to_csr to_csr

Table CSRSparseMatrix

What Link Winner

Table CSCSparseMatrix

What Link Winner