Performance fix: Grep Console 3.0.1

Murphy strikes again. Before releasing version 3.0, I’d been testing Grep Console at work for several weeks, with the occasional issues (which I obviously fixed before the release), but without any critical bugs. Now, only two days after the release, my Eclipse suddenly froze (reproducibly) when running a certain test case.

Turns out that the test case logged a lot, including some very long lines. Testing these lines against regular expressions was a serious performance killer, especially in combination with the Grep View (style expressions seem to be applied by Eclipse to only those lines that are actually visible at a given moment, whereas the Grep View has to be filled with all matching lines immediately).

The only way to get rid of the performance bottleneck was to shorten the string that is tested against the regular expression. Therefore, the new version 3.0.1 provides settings for the maximum length of characters to be used when evaluating expressions. These values default to 150 characters for style expressions and to 50 characters for filter expressions and can be changed via the Eclipse preferences. When logging a lot, Grep View will still have a notable impact on the overall performance, but the match length settings should help keep things from getting all too slow.

Bear in mind that shortening these limits too much could result in some expressions no longer matching longer lines. In these cases, those lines will not be styled (though they will still be displayed in full), or not filtered to the Grep View.

Another way to speed things up is to only enable those expressions (especially for filtering) that you actually need. Grep Console will only test activated expressions, so each unused, deactivated expression will bring a small performance boost.

This entry was posted in Grep Console and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *