There is no such thing as best solver for a system of linear equations. In general, there are two large categories of solvers: direct and iterative. Both have their advantages and disadvantages. Sneak peak: direct solvers allow for a cheaper solution for multiple right-hand sides once the matrix is factorized, and such solvers are better suited for non-well conditioned (relatively) matrices. However, iterative solvers are generally faster for large matrices and can benefit from the sparsity of the matrix much easier.
One can compare the asymptotic complexities of straightforward direct solver (LU decomposition - O(N^3)) and iterative solver (O(N_iter * N^2)) for a dense matrix. Here, N is the size of the matrix and N_iter is the number of iterations for an iterative solver to converge to a given accuracy. The higher the required accuracy, the larger is the iteration count. Moreover, if the system is badly conditioned, the iterative solver might not converge at all or do that pretty slow.
So, for FEM, since the matrix is usually pretty sparse, an iterative solver will have O(N_iter * N) complexity, assuming that number of non-zero elements is proportional to N. Thus, without implementation of any fast method (there exits fast direct and direct methods using sparsity patterns) an iterative solver such as GMRES or BiCGSTab\CG is preferred. To speed up the computation, you might want to use a preconditioner all together with the solver.
I hope that overview helps for a very general questions.
There is no such thing as best solver for a system of linear equations. In general, there are two large categories of solvers: direct and iterative. Both have their advantages and disadvantages. Sneak peak: direct solvers allow for a cheaper solution for multiple right-hand sides once the matrix is factorized, and such solvers are better suited for non-well conditioned (relatively) matrices. However, iterative solvers are generally faster for large matrices and can benefit from the sparsity of the matrix much easier.
One can compare the asymptotic complexities of straightforward direct solver (LU decomposition - O(N^3)) and iterative solver (O(N_iter * N^2)) for a dense matrix. Here, N is the size of the matrix and N_iter is the number of iterations for an iterative solver to converge to a given accuracy. The higher the required accuracy, the larger is the iteration count. Moreover, if the system is badly conditioned, the iterative solver might not converge at all or do that pretty slow.
So, for FEM, since the matrix is usually pretty sparse, an iterative solver will have O(N_iter * N) complexity, assuming that number of non-zero elements is proportional to N. Thus, without implementation of any fast method (there exits fast direct and direct methods using sparsity patterns) an iterative solver such as GMRES or BiCGSTab\CG is preferred. To speed up the computation, you might want to use a preconditioner all together with the solver.
I hope that overview helps for a very general questions.