Хммм, а как насчет этого? Просто понять: d
import re
def WordsInText(text, words):
found = []
for index, item in enumerate(words):
if (re.search(f'{item}', text, re.IGNORECASE) is not None):
found.append(item)
return found
Детально:
- Если мое дерево состоит только из нескольких узлов, скажите 25, действительно ли это - проблема?
Не, если Ваши узлы не являются настоящими монстрами.
- Память будет освобождена в конце сценария, или я медленно создаю проблему для сервера?
Когда интерпретатор закрывается, вся память освобождена.
- При каких обстоятельствах эта проблема будет иметь эффект во время выполнения сценария?
Я сомневаюсь, что у Вас будет что-либо для волнения о том, если у Вас не будет очень низких пределов памяти или очень больших динамических структур данных. Если у Вас будет 25 узлов, которые не создаются/освобождаются часто, то у Вас не будет проблемы.
- Будет, вручную уничтожая ссылки, решают проблему, и я должен всегда делать это?
Это поможет. Когда загрузка большого набора данных в нашу базу данных с Продвигает, мы столкнулись с большой проблемой с потреблением памяти, которое мы отследили к циклическим ссылкам, не будучи освобожденным. Наше решение состояло в том, чтобы назвать метод, который очистил все ссылки.
Учитывая природу большинства страниц PHP - то есть, процесс работает за веб-страницей и выброшен при завершении - я скорее сомневаюсь, что это - проблема. Я не видел проблем с циклическими ссылками прежде и использовал их без проблем. По моему опыту, Вы столкнетесь с большим количеством проблем с простым потреблением памяти, но PHP 5 смягчил это несколько путем отказывания от просто копирования объектов и массивов, если не сказали иначе.
PHP 5.3 будет включать функции обнаружения и разрушения циклической ссылки. Это - дополнительная установка, и это должно только использоваться, когда необходимый, потому что сборщик "мусора" получит удар производительности, но это - адаптация, сделанная для Вашего примера.
Разработайте теперь, примите меру предосторожности для явного разыменования в __, разрушают () метод и обновляют до 5,3, если это возможно.
Возможно, так, но так как это выводит все объекты в конце каждого запроса (если Вы не кэшируетесь), я не думаю, что многие PHP программисты волнуются об этом.
Если Вы пишете сценарии командной строки в PHP, то, возможно, у Вас есть случай для волнения по поводу этого, но необходимо было бы писать некоторый довольно замысловатый код PHP, прежде чем это станет чем-то стоящим вызвать беспокойство о. И если это так у Вас есть большие проблемы.
Удачи.