Высокое использование памяти Python с BeautifulSoup

Я пытался обработать несколько веб-страниц с BeautifulSoup4 в Python 2.7.3, но после каждого анализа использование памяти увеличивается и увеличивается.

Этот упрощенный код производит то же самое поведение:

from bs4 import BeautifulSoup

def parse():
    f = open("index.html", "r")
    page = BeautifulSoup(f.read(), "lxml")
    f.close()

while True:
    parse()
    raw_input()

После пятикратного вызова parse () процесс python уже использует 30 МБ памяти (размер используемого HTML-файла был около 100 КБ), и он увеличивается на 4 МБ за каждый вызов. Есть ли способ освободить эту память или какой-то обходной путь?

Update: Такое поведение вызывает у меня головную боль. Этот код легко использует много памяти, хотя переменная BeautifulSoup должна быть долго удалена:

from bs4 import BeautifulSoup
import threading, httplib, gc

class pageThread(threading.Thread):
    def run(self):
        con = httplib.HTTPConnection("stackoverflow.com")
        con.request("GET", "/")
        res = con.getresponse()
        if res.status == 200:
            page = BeautifulSoup(res.read(), "lxml")
        con.close()

def load():
    t = list()
    for i in range(5):
        t.append(pageThread())
        t[i].start()
    for thread in t:
        thread.join()

while not raw_input("load? "):
    gc.collect()
    load()

Может быть, это какая-то ошибка?

Ответы на вопрос(4)

Ваш ответ на вопрос