[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A problem about fresh and stale KCL



My problem is this. I have implemented a function for calculating gcd of two
very large polynomials. This is used by a larger package for geometric
reasoning. The problem is that after that geometeric reasoning package has
run for a day, the polynomial gcd program becomes very slow. I did the following
to test this.

I ran the geometric package for 1 day. Then I put a trace on the gcd function.
The package, after some time, invoked the gcd program. I could (obviously) see
the arguments with which it invoked the gcd program. Let's call those arguments
polynomials A and B. For that invocation with A and B, the gcd program (from
inside the package which had run for a day) took about 2 hours of cpu time.
Then I loaded just that function into freshly invoked KCL and invoked it myself
with the same inputs A and B. In this fresh KCL, it took about 12 minutes of
cpu time!

What's going wrong with kcl? does this have something to do with Garbage
Collection? Why does the same function run so slow from inside the package,
but much faster when loaded and invoked separately in fresh KCL?

Please explain this perplexing problem and help. Thanks in advance. I would be
really grateful if someone could explain this problem to me. This is very
important for me.

Thanks.

	- Tushar

-------------------------------------------------------------------------------
email : saxena@cs.albany.edu                        Computer Science Department
Phone : 518-442-3388				    SUNY Albany
Tushar Saxena					    Albany NY 12222 (USA)
-------------------------------------------------------------------------------