Ever since the release of Firefox 2.0, Adblock Plus has displaced the original Adblock as one of the five most popular extensions at Mozilla Add-ons. If you’ve installed Adblock Plus, you know that it presents a list of recommended subscriptions on first run. Instead of the extemely popular Filterset.G, EasyList is listed. Which one is better? Let’s find out.

Disclosure: I actively contribute to EasyList development.

A little background

In the original Adblock, the user had to create filters by themselves to block advertisements. Filtersets like Filterset.G came on the scene so that people could import preconfigured filters that block ads on a majority of websites. Because of the fluid nature of the web, filtersets needed to be updated from time to time. Filterset.G Updater, a seperate extension created by Reid Rankin and Michael McDonald, was the solution to that problem. Adblock Plus further refined the concept with filter subscriptions. It automatically updates filtersets instead of a relying on a seperate extension. Today, Filterset.G and EasyList are some of the most popular filter lists.

Testing configuration

All effectiveness tests were performed with Firefox 2.0 and Adblock Plus 0.7.2.2. Filterset.G 2006-10-26a was paired with Filterset.G-Whitelist-Beta wb-2006-10-26a. EasyList 04Nov2006 was tested both on its own and also paired with EasyElement 31Oct2006. Why didn’t I use Adblock 0.5.3.043? Because as far as anyone can tell, the project is dead. The project has not had a CVS commit for at least 180 days, the website has not been updated with the latest version, the developers don’t post in the forums, the latest xpi has the maxVersion set to Firefox 2.0a, and AMO had to specially grant Michael McDonald upload privileges so that a security vulnerability could be fixed.

Effectiveness tests

Screenshots are provided for comparison. The first thumbnail is Filterset.G. The second one is EasyList. The third one is EasyList paired with EasyElement. Hover over the thumbnails to see which filter list it is. Sorry about the crappy jpegs. The pngs were too big.

MapQuest.com
MapQuest - Filterset.G MapQuest - EasyList MapQuest - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement goes one step further by removing a few of the text ads, although it is bit too aggressive in this case.

NYTimes.com
NYTimes - Filterset.G NYTimes - EasyList NYTimes - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. Filterset.G has a minor issue with a few images related to layout, but it’s no big deal. EasyElement goes one step further by removing text ads.

PCWorld.com
PCWorld - Filterset.G PCWorld - EasyList PCWorld - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement works well to cover up the ugly spaces that blocked ads leave behind. It’s so good that you can’t even tell where on the page the ads would have been.

People.com
People - Filterset.G People - EasyList People - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement goes one step further by removing the cruft that the blocked ads leave behind.

Slashdot.org
Slashdot - FIlterset.G Slashdot - EasyList Slashdot - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement goes one step further by removing a little bit of white space, but it’s not a big improvement in this case.

TomsHardware.com
Toms - Filterset.G Toms - EasyList Toms - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement shows no difference.

Weather.com
Weather - Filterset.G Weather - EasyList Weather - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement shows no difference.

Finance.Yahoo.com
Yahoo - Filterset.G Yahoo - EasyList Yahoo - EasyList & EasyElement
Filterset.G and EasyList are equally effective at removing the ads. EasyElement goes one step further by removing the space taken up by the ads.

Performance

I contacted the author of Adblock Plus, Wladimir Palant, to get some numbers. The processing time for Filterset.G clocked in at 65ms. The processing time for EasyList clocked in at 27ms. As you can see, Adblock Plus processes EasyList more than twice as as fast as Filterset.G. Using EasyElement in addition to EasyList adds a negligible performance hit. Performance for Filterset.G can be markedly improved by merely converting its regular expression filters to simple filters, but G has chosen not to do so. More information about how Adblock Plus’s algorithms work is available here.

Conclusion

Top honors go to EasyList and EasyElement. Both Filterset.G and EasyList are similarly effective at blocking advertisements. However, EasyList paired with EasyElement gets rid of much of the cruft left over from blocked ads while Filterset.G does not. Also, EasyList performs twice as fast as Filterset.G. Some people may balk at the idea of a mere 38ms improvement, but the difference shows how much effort the filter list maintainers put into making their filter lists better. You can always expect a quick reply from Rick, the maintainer of EasyList, if you post in his forum. Contrast this position with G who refuses to publish a static URL for his list or convert his filters from regular expressions. You can see why I recommend using EasyList & EasyElement.

Update: Wladamir Palant, the developer of Adblock Plus, recommends users to switch away from Filterset.G.