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).


Reply via email to