23.11.2012: FIXED: mesh initialization overhead, which was seen FEniCS 1.0 (not 1.0+)
23.11.2012: NOTE: the preconditioned cg-iteration counts may differ for different FEniCS installations, depending on the used PETSc release. For example the poisson-unitsquare demo:
petsc-3.3-p3
refinements | dofs | cg+hypre_amg iter | cg+hypre_amg time | cg iter | cg time | cg+fmg iter | cg+fmg time
------------+---------+-------------------+-------------------+---------+----------+-------------+------------
0 | 64 | 3 | 0.00124 | 23 | 0.000145 | 1 | 0.000586
1 | 225 | 4 | 0.00141 | 44 | 0.000395 | 5 | 0.00144
2 | 841 | 4 | 0.00452 | 87 | 0.00247 | 5 | 0.00253
3 | 3249 | 4 | 0.0195 | 172 | 0.0187 | 5 | 0.00693
4 | 12769 | 4 | 0.0864 | 343 | 0.221 | 5 | 0.0210
5 | 50625 | 4 | 0.370 | 685 | 2.06 | 5 | 0.0773
6 | 201601 | 4 | 1.50 | 1368 | 16.1 | 5 | 0.294
petsc-3.2-p5 (different computer)
refinements | dofs | cg+hypre_amg iter | cg+hypre_amg time | cg iter | cg time | cg+fmg iter | cg+fmg time
------------+---------+-------------------+-------------------+---------+----------+-------------+------------
0 | 64 | 3 | 0.000780 | 23 | 6.70e-05 | 1 | 0.000343
1 | 225 | 4 | 0.000685 | 44 | 0.000237 | 5 | 0.000835
2 | 841 | 4 | 0.00242 | 87 | 0.00153 | 5 | 0.00146
3 | 3249 | 4 | 0.00971 | 172 | 0.0119 | 6 | 0.00349
4 | 12769 | 5 | 0.0426 | 343 | 0.0945 | 6 | 0.00931
5 | 50625 | 4 | 0.165 | 685 | 0.786 | 6 | 0.0329
6 | 201601 | 4 | 0.752 | 1368 | 7.46 | 6 | 0.148
Since the cg-iterations are equal there must have been something fixed in PETSc KS preconditioning.