In [1]:
%timeit?

In [2]:
%prun?

In [1]:
from __future__ import absolute_import, division, print_function
import os.path as op
import numpy as np
import numpy.testing as npt

import gsd.hoomd
import sys
import clustering as cl
from cdistances import conOptDistanceCython,alignDistancesCython


/home/rachael/anaconda/lib/python2.7/site-packages/matplotlib/__init__.py:1350: UserWarning:  This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

  warnings.warn(_use_error_msg)

In [2]:
molA1 = np.array([0.,0.,0.,1.,1.,0.,2.,2.,0.,3.,3.,0.,4.,4.,0.])
molB1 = np.array([0.,-2.,0.,1.,-3.,0.,2.,-4.,0.,3.,-5.,0.,4.,-6.,0.])
molA2 = np.array([0.,1.,0.,1.,1.,0.,2.,1.,0.,3.,1.,0.,4.,1.,0.])
molB2 = np.array([0.,0.,0.,1.,0.,0.,2.,0.,0.,3.,0.,0.,4.,0.,0.])

apos1 = np.array([-1.,0.,0.,-1.,-0.5,0.,
                      -1.,-1.,0.,0.,-1.,0.,0.,-0.5,0.,0.,0.,0.])
apos2 = np.array([1.5,0.,0.,1.5,-0.5,0.,
                      1.5,-1.,0.,0.5,-1.,0.,0.5,-0.5,0.,0.5,0.,0.])

In [3]:
%timeit -n 10000  cl.conOptDistance(molA1,molB1)


10000 loops, best of 3: 29.1 µs per loop

In [5]:
%timeit -n 10000 cl.alignedDistance(apos1,apos2)


10000 loops, best of 3: 47.7 µs per loop

In [4]:
%timeit -n 10000 conOptDistanceCython(molA1,molB1)


10000 loops, best of 3: 730 ns per loop

In [6]:
%timeit -n 10000 alignDistancesCython(apos1,apos2)


10000 loops, best of 3: 3.65 µs per loop

In [3]:
fname = '/home/rachael/Analysis_and_run_code/analysis/cluster_analysis/clustering/data/mols8.gsd'
traj = gsd.hoomd.open(fname)
    
ats = 17
cutoff= 1.1*1.1
molno = 8
cldict = {'contact':cutoff}
syst = cl.SnapSystem(traj,ats,molno,cldict)

In [4]:
%timeit -n 10 syst.get_clusters_serial('contact')


10 loops, best of 3: 3.04 s per loop

In [ ]: