Thanks to both of you for your quick replies! Joachim Schimpf writes: | | Do you also see a significant growth in the size of your | eclipse process? | It goes up from 9050K (initially) to 9267K (after six requests). This is what 'top' says in the 'SIZE' column. | | > | > The program uses assert/retract. But it is made sure that the database | > is restored upon each request. | | How are you doing the cleanup exactly? | As in retract_all(given_rule(_,_,_,_,_)) There are about 15 dynamic predicates like given_rule, all of them get facts asserted, and some of them have about up to 50 facts asserted. What I am using heavily is an array: make_array(db_branch_nodes(200000)), Typically, the first 4000 entries are filled, and assignments to it happen all the time. Could that cause the problem? | > P.S: I tried the profiler. But execution stopped with | > 'Profiling time alarm' . If you could help me getting the profiler | > run, that would certainly help. I'm running linux 2.4.18 on a pentium | > III PC. | | I don't know why your profiler doesn't work. Do you use | an Eclipse "runtime" version? | No. But, anyway, I can work around by using cputime/1 to time interesting fragments. I came up with one more experiment: the assert/retract happen only during an initialisation phase when a request comes. I can iterate the subsequent phase, say, 50 times and see if this phase becomes slower (but this phase uses the array). If it does not become slower, assert/retract is the problem. I'd say. But if you have further advice right now, it would be appreciated. Cheers, PeterReceived on Wed May 29 22:58:25 2002
This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:16 PM GMT GMT