Catastrophic performance degradation when syllabifying long words
I've attached a Phonix rule file and four test input files. The Phonix file contains only one rule, which syllabifies its input into a simple (C)V(C) syllable structure. The input files each contain one word, which grows one syllable longer from one file to the next.
On my machine (running Windows 10), each file takes about 4 times longer to run through the single syllabification rule than the previous file. I've also attached a Python 3 program that performs these sound change runs and measures how long they take. This is the output on my machine:
Applied rules test.phonix to test_in_1.txt; took 1.4 seconds
Applied rules test.phonix to test_in_2.txt; took 3.1 seconds
Applied rules test.phonix to test_in_3.txt; took 10.0 seconds
Applied rules test.phonix to test_in_4.txt; took 55.5 seconds
This exponential performance characteristic seems unreasonable for a simple syllable parsing operation, which I would expect to be linear in the length of the word. For my current project, I actually have to deal with words this long, so this kind of performance characteristic is a major obstacle.
test.phonix test_in_1.txt test_in_2.txt test_in_3.txt test_in_4.txt test.py