lp:~pythonregexp2.7/python/issue2636-09-01

Created by TimeHorse and last modified

This is the first attempt at cleaning up the C-code for the Python Regexp Engine by turning Macros into proper Functions and all switch-case statements into lookup tables containing function pointers. Near the finish of this attempt at firstly understanding how the current Python Regex Engine functioned and secondly seeing if I could make it faster, I benchmarked it against the original Python Regex engine and found it to be between 8 3/4% to 9% slower, so I have branched it out from the main Comment and Analysis branch so that if a solution to the 9% problem can be found, development can continue, but otherwise not affect the main Comment and Analysis branch. However, the comments added to this branch will be manually added to the main Regex Engine branch at a later date because the original code is rather hard to understand which is why this line of development was attempted.

Get this branch:
bzr branch lp:~pythonregexp2.7/python/issue2636-09-01
Members of Python Regexp 2.7 can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Python Regexp 2.7
Project:
Python
Status:
Experimental

Recent revisions

39088. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Merged in changes from the Engine Cleanups branch.

39087. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Merged in changes from the Engine Cleanups branch.

39086. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Elimated calls to functions with in the Single-Loop code would not have
any net effect on self because self->ret would remain unchanged, more or
less and all tests pass.

39085. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Atomic Grouping and Possessive Qualifiers are not part of the Base
Single-Loop Engine design because they are part of the Atomic Grouping
/ Possessive Qualifiers branch, which is independent but shared in the
branches that specifically merge them, i.e. those of the form 01+09.

39084. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Merged in changes from the Engine Cleanups branch.

39083. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Merged in changes from the Engine Cleanups branch.

39082. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Removed extraneous spaces.

39081. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Removed code that should have been in the Triple-Loop branch but somehow
made it way over here; then fixed some compiler warnings by removing the
three unused *return_on_* functions; finally, fixed compiler issues
associated with the Verbose compile.

39080. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Merged in changes from the Engine Cleanups branch.

39079. By Jeffrey C. "The TimeHorse" Jacobs <email address hidden>

Merged in changes from the Engine Cleanups branch.

Branch metadata

Branch format:
Branch format 6
Repository format:
Bazaar pack repository format 1 with rich root (needs bzr 1.0)
This branch contains Public information 
Everyone can see this information.

Subscribers

No subscribers.