parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

боюсь этой информации недостаточно чтобы попробовать найти проблему

Misha v.3 08.10.2007 13:47

например я часто использую парсер на win для выполнения каких-то очень сложных действий, на которые съедается до гигабайта памяти (именно из-за этого они не могут быть выполнены на хостинге).

очевидно, что при этом я сразу пишу код с использованием compact. зависаний процессов parser3.exe в памяти я не наблюдал (XP PE+SP2, Apache 2 + Parser3 CGI версия 3.2.1sp2).

однако я знаю например о баге compact, который проявляется при определённых условиях когда идёт работа с hashfile (если активно работаем с hashfile и делаем туда _много_записей_, то после очередного compact hashfile может оказаться недоступен, при этом его структура не нарушается). но при этом опять же никакого зависания процессов не наблюдается.

тем не менее рекомендую убедиться, что у вас используется gc.dll с сайта (положите её рядом с парсером, т.к. в принципе она могла поставиться с другим софтом, но отличаться например версией)

ну и до кучи: ^memory:compact[] не быстрая операция, делать её без необходимости не рекомендуется. а оценить в процессе написания кода эту необходимость получается далеко не всегда, поэтому... рекомендую пользовать ^Erusage:compact[] (ну или своим аналогом), который вызывает ^memory:compact[] только в случае, если с последнего его вызова было израсходовано много памяти, в противном случае не делает ничего.