<div dir="ltr">sure.<div><br></div><div><div><br></div><div>def mymain():</div><div><br></div><div>        def LEstep(n):<br></div><div><br></div><div>                Emin=10**6</div><div><br></div><div>                Emax=5*(10**10)</div>
<div><br></div><div>                Lemin=log10(Emin)</div><div><br></div><div>                Lemax=log10(Emax)</div><div><br></div><div>                stepE=(Lemax-Lemin)/n</div><div><br></div><div>                return (stepE, n, Lemin, Lemax)</div>
<div><br></div><div><br></div><div>        if __name__ == "__main__":</div><div><br></div><div>                import sys</div><div><br></div><div>                if len(sys.argv)<=1:</div><div><br></div><div>
                        stepENE, nex, Lemin, Lemax = LEstep(200)        </div><div><br></div><div>                elif len(sys.argv)<=2:        </div><div><br></div><div>                        stepENE, nex, Lemin, Lemax = LEstep(int(sys.argv[1]))</div>
<div><br></div><div>                else:</div><div><br></div><div>                        stepENE, nex, Lemin, Lemax = LEstep(int(sys.argv[1])) </div><div><br></div><div>                        freq=float(sys.argv[2])</div>
<div><br></div><div><br></div><div>        eel = list(range(nex))</div><div><br></div><div>        eels = np.logspace(Lemin, Lemax, num=nex, endpoint=False)</div><div><br></div><div><br></div><div>        indpha = list(range(npha))</div>
<div><br></div><div>        indobs = list(range(nobs))</div><div><br></div><div><br></div><div>        rlc = c/(2*pi*freq)</div><div><br></div><div><br></div><div>        MYMAP1 = np.zeros([npha, nobs, nex], dtype=float)</div>
<div><br></div><div>        MYMAP2 = np.zeros([npha, nobs, nex], dtype=float)</div><div><br></div><div>        MYMAP3 = np.zeros([npha, nobs, nex], dtype=float)</div><div><br></div><div>        MYMAP4 = np.zeros([npha, nobs, nex], dtype=float)</div>
<div><br></div><div>        MYMAP5 = np.zeros([npha, nobs, nex], dtype=float)</div><div><br></div><div>        count=0<br></div><div><br></div><div>        omegacliston = [] <br></div><div><br></div><div><br></div><div>        alpha = '60_'<br>
</div><div><br></div><div>        for my_line in open('datasm0_60_5s.dat'):<br></div><div><br></div><div>                myinternet = []                </div><div><br></div><div>                gmlis = []        </div>
<div><br></div><div>                print('reading the line', count, '/599378')        </div><div><br></div><div>                my_parts = [float(i) for i in my_line.split()]</div><div><br></div><div>                phase = my_parts[4]</div>
<div><br></div><div>                zobs = my_parts[5]</div><div><br></div><div>                rho = my_parts[6]</div><div><br></div><div>        </div><div><br></div><div>                gammar1 = my_parts[7]</div><div>
<br></div><div>                gammar2 = my_parts[8]</div><div><br></div><div>                gammar3 = my_parts[9]</div><div><br></div><div>                gammar4 = my_parts[10]</div><div><br></div><div>                gammar5 = my_parts[11]</div>
<div><br></div><div>        </div><div><br></div><div>                gmlis.append(gammar1)        </div><div><br></div><div>                gmlis.append(gammar2)</div><div><br></div><div>                gmlis.append(gammar3)</div>
<div><br></div><div>                gmlis.append(gammar4)</div><div><br></div><div>                gmlis.append(gammar5)</div><div><br></div><div>                i = int((phase-phamin)/stepPHA)        <br></div><div><br></div>
<div>                j = int((zobs-obamin)/stepOB)</div><div><br></div><div>                for gammar in gmlis:        <br></div><div><br></div><div><br></div><div>                        omC = (1.5)*(gammar**3)*c/(rho*rlc)</div>
<div><br></div><div>                        gig = omC*hcut/eVtoErg                </div><div><br></div><div>                        omegacliston.append(omC)        </div><div><br></div><div>                        for w in eel[:]:        <br>
</div><div><br></div><div>                                omega = (10**(w*stepENE+Lemin))*eVtoErg/hcut       </div><div><br></div><div>                                x = omega/omC</div><div><br></div><div>                                kap = instruments.kappa(x)                </div>
<div><br></div><div>                                Iom = (1.732050808/c)*(e**2)*gammar*kap </div><div><br></div><div>                                P = Iom*(c/(rho*rlc))/(2*pi) </div><div><br></div><div>                                phps = P/(hcut*omega  ) </div>
<div><br></div><div>                                </div><div>                                www =  phps/(stepPHA*sin(zobs)*stepOB) </div><div><br></div><div>                                myinternet.append(www)</div><div>
<br></div><div>                        </div><div><br></div><div>                count = count + 1</div><div><br></div><div>                </div><div><br></div><div>                oo = 0        </div><div><br></div><div>
                        </div><div><br></div><div>                for k in eel[:]:        </div><div><br></div><div>                        MYMAP1[i, j, k] = MYMAP1[i, j, k] + myinternet[oo]</div><div><br></div><div>                        oo = oo + 1</div>
<div><br></div><div>                for k in eel[:]:        </div><div><br></div><div>                        MYMAP2[i, j, k] = MYMAP2[i, j, k] + myinternet[oo]</div><div><br></div><div>                        oo = oo + 1</div>
<div><br></div><div>                for k in eel[:]:        </div><div><br></div><div>                        MYMAP3[i, j, k] = MYMAP3[i, j, k] + myinternet[oo]</div><div><br></div><div>                        oo = oo + 1</div>
<div><br></div><div>                for k in eel[:]:        </div><div><br></div><div>                        MYMAP4[i, j, k] = MYMAP4[i, j, k] + myinternet[oo]</div><div><br></div><div>                        oo = oo + 1</div>
<div><br></div><div>                for k in eel[:]:        </div><div><br></div><div>                        MYMAP5[i, j, k] = MYMAP5[i, j, k] + myinternet[oo]</div><div><br></div><div>                        oo = oo + 1</div>
<div><br></div><div> </div><div>        BIGMAPS = [MYMAP1, MYMAP2, MYMAP3, MYMAP4, MYMAP5]</div><div><br></div><div>        sigmas = [1, 3, 5, 10, 30]</div><div><br></div><div>        fiq1 = plt.figure()</div><div><br></div>
<div>        fiq2 = plt.figure()</div><div><br></div><div>        fiq3 = plt.figure()</div><div><br></div><div>        fiq4 = plt.figure()</div><div><br></div><div>        fiq5 = plt.figure()</div><div><br></div><div>        fiqqs = [fiq1, fiq2, fiq3, fiq4, fiq5]</div>
<div><br></div><div> </div><div>        multis = zip(sigmas, BIGMAPS, fiqqs)                                </div><div><br></div><div> </div><div>        for sigma, MYMAP, fiq in multis:</div><div><br></div><div>                         filename=alpha+'_'+str(sigma)+'_'+str(npha)+'_'+str(phamin)+'_'+str(phamax)+'_'+str(nobs)+'_'+str(obamin)+'_'+str(obamax)+'_'+str(nex)+'_'+str(Lemin)+'_'+str(Lemax)+'_.dat'</div>
<div><br></div><div>        </div><div><br></div><div>                MYfile = open(filename, 'a')</div><div><br></div><div>        </div><div><br></div><div>                for k in eel[:]:</div><div><br></div><div>
                        for j in indobs[:]:</div><div><br></div><div>                                for i in indpha[:]:</div><div><br></div><div>                                        A=MYMAP[i, j, k]                        </div>
<div><br></div><div>                                        stringa = str(A) + ','</div><div><br></div><div>                                        MYfile.write(stringa)</div><div><br></div><div>                        accapo = '\n'</div>
<div><br></div><div>                        MYfile.write(accapo)</div><div><br></div><div>        </div><div><br></div><div>                MYfile.close()</div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014-04-10 19:55 GMT-04:00 Danny Yoo <span dir="ltr"><<a href="mailto:dyoo@hashcollision.org" target="_blank">dyoo@hashcollision.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=""><p dir="ltr"><br>
>    ncalls  tottime  percall  cumtime  percall filename:lineno(function)<br>
>         1  149.479  149.479  199.851  199.851 skymaps5.py:16(mymain)<br>
>  18101000   28.682    0.000   28.682    0.000 {method 'write' of 'file' objects}<br>
><br>
>     33044    5.470    0.000    6.444    0.000 interpolate.py:394(_call_linear)<br>
>    230000    2.272    0.000   21.279    0.000 instruments.py:10(kappa)<br>
>    231328    2.120    0.000    2.120    0.000 {numpy.core.multiarray.array}<br>
>     33044    1.719    0.000    3.836    0.000 interpolate.py:454(_check_bounds)<br>
>     66088    1.611    0.000    1.611    0.000 {method 'reduce' of 'numpy.ufunc'<br>
> objects}<br>
>     33044    1.146    0.000   11.623    0.000 interpolate.py:443(_evaluate)<br>
>     33044    1.120    0.000    5.542    0.000 interpolate.py:330(__init__)<br>
>     33044    0.659    0.000    2.329    0.000 polyint.py:82(_set_yi)<br>
><br>
> the major time is required by mymain that is the whole program.<br><br></p>
</div><p dir="ltr">Good!  Profiles like this allow us to pinpoint issues.</p>
<p dir="ltr">Wait... ?!</p>
<p dir="ltr">The profiler is saying that the majority of time is in my main, but _not_ in auxiliary functions. That's surprising.  Am I misreading the profile?</p>
<p dir="ltr">Can you show what mymain is doing?</p>
</blockquote></div><br></div>