python: optimize skipEverything()
commit6781ab30c54efdb29d41e45bc20cc2eec0124f66
authorJiří Techet <techet@gmail.com>
Thu, 25 Jun 2015 20:10:32 +0000 (25 22:10 +0200)
committerJiří Techet <techet@gmail.com>
Thu, 25 Jun 2015 20:10:32 +0000 (25 22:10 +0200)
tree50361a598282c27a8db3fb185256a3d02bca8bc6
parentf427a3a6e19fe8c7190b0f8a1c269f3e739fbfb3
python: optimize skipEverything()

Most of the time there's no start of a string which means all the 10
strcmp()s are done for every character of the input. This is very expensive:
before this patch this function alone takes 55% of the parser time.
When comparing by character (and avoiding further comparison if the first
character doesn't match), this function takes only 11% of the parser time
so the performance of the parser nearly doubles.

In addition check for the "rb" prefix which is possible in Python 3.

Ported from universal-ctags.
tagmanager/ctags/python.c