First, I agree with John that you don't have to declare the types in 
general, like in a compiled language. It seems that Julia would be able to 
infer the types of most variables in your codes.

There are several ways that your code's efficiency may be improved:

(1) You can use @inbounds to waive bound checking in several places, such 
as line 94 and 95 (in RBC_Julia.jl)
(2) Line 114 and 116 involves reallocating new arrays, which is probably 
unnecessary. Also note that Base.maxabs can compute the maximum of absolute 
value more efficiently than maximum(abs( ... ))

In terms of measurement, did you pre-compile the function before measuring 
the runtime?

A side note about code style. It seems that it uses a lot of Java-ish 
descriptive names with camel case. Julia practice tends to encourage more 
concise naming.

Dahua



On Monday, June 16, 2014 10:55:50 AM UTC-5, John Myles White wrote:
>
> Maybe it would be good to verify the claim made at 
> https://github.com/jesusfv/Comparison-Programming-Languages-Economics/blob/master/RBC_Julia.jl#L9
>  
>
> I would think that specifying all those types wouldn’t matter much if the 
> code doesn’t have type-stability problems. 
>
>  — John 
>
> On Jun 16, 2014, at 8:52 AM, Florian Oswald <florian...@gmail.com 
> <javascript:>> wrote: 
>
> > Dear all, 
> > 
> > I thought you might find this paper interesting: 
> http://economics.sas.upenn.edu/~jesusfv/comparison_languages.pdf 
> > 
> > It takes a standard model from macro economics and computes it's 
> solution with an identical algorithm in several languages. Julia is roughly 
> 2.6 times slower than the best C++ executable. I was bit puzzled by the 
> result, since in the benchmarks on http://julialang.org/, the slowest 
> test is 1.66 times C. I realize that those benchmarks can't cover all 
> possible situations. That said, I couldn't really find anything unusual in 
> the Julia code, did some profiling and removed type inference, but still 
> that's as fast as I got it. That's not to say that I'm disappointed, I 
> still think this is great. Did I miss something obvious here or is there 
> something specific to this algorithm? 
> > 
> > The codes are on github at 
> > 
> > https://github.com/jesusfv/Comparison-Programming-Languages-Economics 
> > 
> > 
>
>

Reply via email to