In scikit-learn the implementation of [Lasso with coordinate descent](http://scikit-learn.sourceforge.net/modules/linear_model.html#lasso) tends to be faster than our implementation of LARS although for small p (such as in your case) they are roughly equivalent (LARS might even be a bit faster with the latest optimizations available in the master repo). Furthermore coordinate descent allow for efficient implementation of elastic net regularized problems which is the the case for LARS (that solves only Lasso, aka L1 penalized problems). Elastic Net penalization tends to yield a better generalization than Lasso (closer to the solution of ridge regression) while keeping the nice sparsity inducing features of Lasso (supervised feature selection). For large N (and large p, sparse or not) you might also give a [stochastic gradient descent](http://scikit-learn.sourceforge.net/modules/sgd.html) (with L1 or elastic net penalty) a try (also implemented in scikit-learn). **Edit**: here are some [benchmarks comparing LassoLARS and the coordinate descent implementation](http://picasaweb.google.com/olivier.grisel/MachineLearning#5543914944364375506) in scikit-learn