Also make sure that NDEBUG is defined (with the current svn it is with
build=fast), not sure if it was for release or not.
Also, run it with gprof to see where the time is being spent. Is it in
the harmonic evaluation? Or in the actual shortest paths.
On Jan 27, 2009, at 7:20 PM, Keren Lasker wrote:
just for the records,
Ben suggested compiling with release=true, which reduced the running
time to ~7 seconds.
I still think we should consider a faster implementation. Maybe use
geometric hashing to query close particles in space.
On Jan 26, 2009, at 9:43 PM, Keren Lasker wrote:
hi all,
I am writing a test case for adding hierarchy support in DOMINO,
and it seems that the connectivity restraint works incredibly
sssllllooowww between two proteins each of ~100 residues.
i=0
ub = IMP.core.HarmonicUpperBound(1.0, 0.1)
ss= IMP.core.DistancePairScore(ub)
r= IMP.core.ConnectivityRestraint(ss)
ps = IMP.Particles()
ps_refined=[]
for j in xrange(2):
ps.append(self.particles[i+j])
for e in ps_refined:
r.add_particles(e)
beg = time.time()
r.evaluate(None)
end = time.time()
dt = end - beg
print 'connectivity restraint calculation took %9.6f Seconds' % (dt)
The evaluate function takes ~20 seconds.
am I missing something here? is there a faster implementation using
some external library ?