scipy/scipy — pull request #4306 by argriffing (2014-12-23 20:45:02+00:00)
Title: Add benchmark for conjugate gradient solver.

This benchmark should partially address https://github.com/scipy/scipy/pull/4087#issuecomment-65954520. In particular, if you make a change to the abstract linear operator infrastructure which causes a huge slowdown, this should be detectable by running this benchmark before and after the change.

```
generic solve vs. conjugate gradient solve
==============================================================
shape | repeats | operation | time
| (seconds)
--------------------------------------------------------------
(16, 16) | 100 | dense solve | 0.03
(16, 16) | 100 | sparse cg | 0.06
(36, 36) | 100 | dense solve | 0.09
(36, 36) | 100 | sparse cg | 0.09
(100, 100) | 100 | dense solve | 0.32
(100, 100) | 100 | sparse cg | 0.24
(256, 256) | 100 | dense solve | 1.26
(256, 256) | 100 | sparse cg | 0.44
(625, 625) | 100 | dense solve | 5.25
(625, 625) | 100 | sparse cg | 0.55
(1600, 1600) | 100 | sparse cg | 0.32
(4096, 4096) | 100 | sparse cg | 0.82
(10000, 10000) | 100 | sparse cg | 2.49
(25600, 25600) | 100 | sparse cg | 65.20
```