When I profiled it, it looked like `hist` is taking >95% of the time. Seems like we need an optimized path for when edges are specified by Ranges (which is not true of the posted code, but could easily be modified to do so).
--Tim On Saturday, November 08, 2014 07:58:34 PM Jameson Nash wrote: > I suspect you may have a type-stability issue in your algorithm, limiting > Julia's ability to optimize. Typically, you want to initialize variables > with `zero(eltype(A))` or similar such statements. See > http://docs.julialang.org/en/latest/manual/performance-tips/ and > https://github.com/astrieanna/TypeCheck.jl > > On Sat Nov 08 2014 at 2:52:13 PM Jason Merrill <[email protected]> wrote: > > Here's a sketch of a different algorithm that I believe converges to the > > same value: > > > > 1. Initialize thresh to the mean value of the image pixels > > 2. Compute the mean of the pixels that are larger than thresh, mplus, and > > smaller than thresh, mminus. > > 3. Set thresh to the mean of mminus and mplus, and then loop back to 1. > > Iterate to a fixed point. > > > > You can implement this version without allocating any extra data > > structures, so it may well be much faster. > > > > Sorry I don't have any references here. Writing from a phone.
