Skip to content

Parsing slows down with each subsequent parse #102

@connormayer

Description

@connormayer

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions