Towards a very efficient incompressible flow solver: Comparison of optimized lattice Boltzmann and finite difference solvers