Python 3.8.10
apertium-python 0.2.3
apertium 3.8.1
Ubuntu 20.04 (running under WSL)
Reproducing code:
import apertium
import time
i = 0
parser = apertium.Analyzer('eng')
while True:
then = time.time()
parser.analyze("Why does this keep getting slower?")
now = time.time()
print("Parsing {} took {}".format(i, now - then))
i += 1
When I run this code, the time taken for the same parse gradually increases. In the first few iterations it takes about 0.0009 seconds per parse, but by iteration 1000 it takes about 0.03 seconds, and it increases from there. Moving parser = apertium.Analyzer('eng') within the loop doesn't solve the problem. If I use the hfst library to run the transducer instead, no slowdown is observed.
Python 3.8.10
apertium-python 0.2.3
apertium 3.8.1
Ubuntu 20.04 (running under WSL)
Reproducing code:
When I run this code, the time taken for the same parse gradually increases. In the first few iterations it takes about 0.0009 seconds per parse, but by iteration 1000 it takes about 0.03 seconds, and it increases from there. Moving
parser = apertium.Analyzer('eng')within the loop doesn't solve the problem. If I use thehfstlibrary to run the transducer instead, no slowdown is observed.