What I was earlier calling a 'syntax error' was actually an undefined
function; I apologize for not using the correct language. I believe that
syntax errors are caught in the 'include' step, while the 'undefined' error
I was actually getting was a compile-time error. Starting with an
undefined variable on the first line of function f in file.jl, here is what
i did on the REPL
* include file.jl this takes a fraction of a second
* run f; after 11ish seconds it notices the undefined variable and returns
an error
* run f again; it immediately complains about the undefined variable
The number of seconds it takes to compile (the first run of f) are related
to the length of the file.
Tim, I guess the fact that I put the undefined function on the first
line of the function I was trying to run resolves your question about
performance (I am sure there are many things I can do to improve the
performance of this toy function).
Elliot, running the command as you requested results in the following on
one computer
julia> filter( x -> contains(x, "sys.dylib"), Sys.dllist())
1-element Array{String,1}:
"/Applications/Julia-0.3.0.app/Contents/Resources/julia/lib/julia/sys.dylib"
I get similar results on a different computer which uses a homebrew package
of Julia 0.3.2.
Thanks for all your help!
Chris
On Monday, November 24, 2014 2:13:29 AM UTC-8, Tim Holy wrote:
>
> When you re-include your script, does it again take 11 seconds to get to
> the
> error? If so, something is wrong. How much computation is there in your
> script? You might have a type inference problem, in which case performance
> will be terrible, and it might simply be taking a long time (much longer
> than
> Matlab) to get to the point in your computation where the bug is
> triggered.
>
> If you haven't already, read at least up through & including the "Tools"
> section of
> http://docs.julialang.org/en/release-0.3/manual/performance-tips/
> You should definitely profile; that will tell you where the problem is.
>
> --Tim
>
> On Sunday, November 23, 2014 11:35:03 PM Christian Peel wrote:
> > >What's your versioninfo?
> >
> > I used Version 0.3.0 (x86_64-apple-darwin13.3.0) on a 2013 macbook
> which
> > took about 9.6 seconds to include the function, try to run it, and find
> the
> > syntax error. On a 2009 iMac with version 0.3.2 of Julia
> > (x86_64-apple-darwin14.0.0) it took 11.3 seconds. Just to be clear,
> it
> > takes something like 3 seconds to load Julia, 26 seconds to load the
> PyPlot
> > package (?!?!?) and then an additional 11.3 seconds after that to get
> the
> > syntax error. I do not restart Julia every time.
> >
> > The functions simulate a narrowband multi-antenna fading communications
> > channel. To me it feels like a simple and straightforward script, but it
> > may not be so simple for the optimizer.
> >
> > Chris
> >
> > On Sunday, November 23, 2014 7:21:36 PM UTC-8, Stefan Karpinski wrote:
> > > Ah, yes. That would explain this if you're timing how long it takes to
> > > start Julia from the command prompt. In that case, I can understand
> the
> > > complaint about the compile-debug-edit cycle, but you probably should
> > > consider doing more development at the interactive REPL prompt rather
> than
> > > restarting Julia every time.
> > >
> > > On Sun, Nov 23, 2014 at 9:56 PM, Patrick O'Leary <[email protected]
> > >
> > > <javascript:>> wrote:
> > >> On Sunday, November 23, 2014 7:55:33 PM UTC-6, Stefan Karpinski
> wrote:
> > >>> 11 seconds seems like an awfully long time. In the days of the slow
> REPL
> > >>> when Julia compiled itself upon starting up, that's about how long
> it
> > >>> took.
> > >>> What's your versioninfo?
> > >>
> > >> Windows doesn't ship with sys.dll, for what it's worth.
>
>