I noticed that a lot of the words in that list aren't even words, or at least not English ones. There are several on the first screenful already, suggesting that there probably are a significant number of them spread throughout the list. So you could probably make it even more efficient with a stricter dictionary.