* Jim Newton <[EMAIL PROTECTED]> | I'm trying to use the cmucl profiler for the first time, and finding | some suprising results from my program. I'm not sure if i'm reading | the profiler output wrong, or if my program is really doing something | very suprising. [....] | | Consed | Calls | Secs | Sec/Call | Bytes/C. | Name: | ----------------------------------------------------------------------- [....] | 69,610,488 | 1,087,578 | 4.195 | 0.00000 | 64 | BLOCKER::GET-SQUARE
Warning: I am no expert in cmucl profiling. I know just enough to be dangerous. That said, you are right. Your function conses very little, just 64 bytes per call. Maybe you could reduce it even more using required arguments instead of keyword ones, but I am only guessing here. So your problem seems to be that you call that function a lot. Trying to find places in you program where you can cache values may be a better idea than changing defmethods to defuns. Anyway unless consing is an observable problem (using swap instead of real memory) you should not worry about it too much. Cmucl uses a generational garbage collector and should reclaim the consed memory pretty fast. Concentrate instead on _Secs_ that is in the end what the user "sees". -- Eduardo Mu�oz | (prog () 10 (print "Hello world!") http://213.97.131.125/ | 20 (go 10))
