As a first (nontrivial) try at julia, I put together some simple DSP code, which represents a pn generator (random fixed-width integer generator) constellation mapping interpolating FIR filter (from DSP.jl) decimating FIR filter (from DSP.jl) mean-square error measure
Source code is here: https://github.com/nbecker/julia-test Profile result is here: https://gist.github.com/anonymous/af2459fc831ddbeb6e3be25e5c8d5197 If I understand how to read this profile (not sure I do) it looks like 1/2 the time is spent in PnSeq.jl, which seems surprising. PnSeq.jl calls rand() to get a Int64, caching the result and then providing N bits at a time to fill an Array. It's supposed to be a fast way to get an Array of small-width random integers. Most of the number crunching should be in the FIR filter functions, which I would have expected to use the most time. Anyone care to make suggestions on this code, how to make it faster, or more idiomatic Julia? I'm not proficient with Julia or with Matlab (I've been using python/numpy/c++ for all my work for years).