[Openmcl-devel] Re: Hemlock performance investigation
Andrew P. Lentvorski, Jr.
bsder at mail.allcaps.org
Thu Aug 26 22:46:28 PDT 2004
On Aug 26, 2004, at 6:50 PM, Hamilton Link wrote:
> I bet bignum-compare is effectively constant time on the bignums in
> question (it's presumably linear in the size of the bignums otherwise,
> in the worst case, as it would probably have to be, but we're talking
> about addresses).
Whoa. Back up.
I wasn't impugning the bignum compare. I was questioning the number of
times it is called.
Calling *anything* hundreds of thousands of times feels like something
is very wrong. Having written a VLSI polygon editor, I can assure you
that *very* few of my functions get called 100,000+ times. And that
program can actually manipulate 100,000+ objects at interactive speed.
At 1 GHz, even executing a primitive assembly language operation
1,000,000 times will take 1ms. If there are 100 assembly instructions
per call (probably a pretty aggressive estimate), that's .1 seconds--a
noticeable and annoying delay in user interactive terms. This is a
rough, back-of-the-envelope engineering estimate, but it does hint that
attacking constant factors of speedup probably won't solve the problem.
This feels like there is some O(n^2) algorithm where there should only
be O(log n). A quick profile of the number of times each function is
called and from where will probably tell you what the offending
function is.
-a
More information about the Openmcl-devel
mailing list