[ojAlgo-user] Performance tests
Mathematics, linear algebra and optimisation
Brought to you by:
apete
From: Anders P. <ap...@op...> - 2007-05-18 08:37:22
|
I regularly test performance and make comparisons between ojAlgo and Jama (also part of ojAlgo). The MatrixDecomposition interface has two major methods: compute() and solve(). Here are example figures using 1000x1000 matrices and performing each operation 10 times. compute() ojAlgo/Jama Chol: 8,15/7,09 LU: 20,39/14,56 QR: 98,68/104,51 solve() ojAlgo/Jama Chol: 39,88/197,55 LU: 41,28/61,69 QR: 177,58/268,45 Comments -------------- Don't use jama cholesky solve, it's very (unnecessarily) slow! Apart from the cholesky case, solve takes about 2 to 4 times longer than compute. Jama performs better with compute, but ojAlgo does solve faster. Doing both compute and solve (which is often what you want) ojAlgo is 20-25% faster than Jama (77% in the Cholesky case). ojAlgo, and QR in particular, is favored by large matrices when comparing to Jama. The two QR implementations are about equally fast when using 400x400 matrices. For SVD and Eigenvalue decompositions ojAlgo delegates to Jama - there is nothing to compare. The source for these tests are in CVS. You can see more of the results here: http://ojalgo.org/generated/comparison.xml Don't forget!!! When using ojAlgo you can easily switch between using the different implementations. /Anders |