For a while one of the biggest complaints people had about
Projectile was that the
alien indexing wasn’t fast enough (especially on big projects). The
reason for the (relatively) bad performance was pretty simple - even
though Projectile would normally obtain the list of project files
pretty fast (e.g. by using
git ls-files) it always did some
post-processing of the results (e.g. filtering, sorting, etc), which
is a very slow operation in Elisp on a big dataset.
Today I’ve added a new indexing
that simply dispenses with all of the post-processing and gives you
the raw power you always craved for. It’s called
yeah - naming is hard!) and it’s going to be the default indexing
method going forward (starting with Projectile 1.1 which should be released pretty soon).
You can read a bit more about it in Projectile’s manual.
If you find yourself missing Projectile’s old behaviour just add the following to your config:
(setq projectile-indexing-method 'alien)
The old tried and true
alien method is still around, it’s just no longer the default.
P.S. I encourage all of you to help out with some of the open tickets marked with “Help Wanted” or “Good First Issue” here. I’m trying to clean-up shop after a long period of stagnation and I can certainly use some help!
P.P.S. The recent 1.0 release was just a precursor to some bigger changes I had planned to do for quite a while. Stay tuned for more updates!
Update Shortly after writing this post I’ve reconsidered the
turbo-alien naming and I opted to rename the old
alien method to
hybrid (as it was truly a hybrid of
and to change the name of
turbo-alien to simply
alien. Naming is