What have you tried so far? See http://docs.julialang.org/en/latest/manual/
performance-tips/#tools, esp. @code_warntype.

--Tim

On Wednesday, August 24, 2016 1:55:23 PM CDT Venil Noronha wrote:
> The following code seems to consume a lot of memory. Could anyone spot what
> I'm doing wrong here? I'm also using the JuMP library.
> 
> function initUtilityConstraint()
>     c = categories[1]
>     me = attack_methods[1]
>     t = teams[1]
>     tuple = Simulate.cmt(c, me, t)
>     w = windows[1]
>     r = resources[1]
>     wrtuple = Simulate.wr(w, r)
>     for ni in 1:size(list,1), c in categories,* f in flights*
>         performloop(ni, c, f, tuple, wrtuple)
>     end
> end
> 
> function performloop(ni, c, f, tuple, wrtuple)
>     fi = findfirst(flights, f)
>     for w in windows, me in attack_methods
>         tuple.c = c
>         tuple.m = me
>         total = 0.0
>         for t in teams
>             tuple.t = t
>             strat = linearizeStrategyS(f, c, t, w, ni)
>             total = total + effectiveness[tuple]*strat
>         end
> 
>         total = ( total*(flight_vals[fi]*(-1)) + flight_vals[fi] )
> 
>         for w2 in owindows, r2 in resources
>             wrtuple.w = w2
>             wrtuple.r = r2
>             over = linearizeOverflow(w2, r2, ni)
>             total = total - resource_fines[wrtuple]*over
>         end
>         # println(string( sc[c], "<=", ( total*(flight_vals[fi]*(-1)) +
> flight_vals[fi] )))
>         @addConstraint(m, sc[c] <= total)
>     end
> end
> 
> Following are the stats for piece this code. Stats were recorded using
> @time.
> 
> For 1 item in the flights array, it takes about 620KB to execute the
> performloop method - peak memory consumption by the program is 8.84GBs.
> 2 flights - 1.02MB per iteration of performloop - peak 8.88GBs.
> 3 flights - 3.45MB - 9.60GBs
> 4 flights - 4.35MB - 10.24GBs
> 5 flights - 10.8MB - 15.63GBs
> 
> It'd be great if someone could help me with this asap!
> 
> Thanks.


Reply via email to