[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