If the only thing that keeps you on Julia is the JIT for loops where 
everything has straightforward types like Array{Float64}, there are already 
tons of choices: PyPy, Numba, Cython, Luajit, and V8 will all JIT that kind 
of code decently. 

But Julia has that kind of speed while also having a rich type system for 
generic programming, macros, and  other well-thought-out semantics due to 
being designed by scratch. I doubt Matlab is very likely to add those 
features going for, both for backwards-compatibility reasons and since it 
doesn't like a priority for Mathworks (which isn't to impinge on the 
technical ability of Mathworks engineers at all - of course they *could *if 
they wanted to*).*

On Friday, October 23, 2015 at 7:18:43 AM UTC-4, Kris De Meyer wrote:
>
> Thanks for the tips. There are no depreciation warnings in my own code, 
> but the Sundials package which I rely on has quite a few. Although the 
> tests which are really slow don't print out depreciation warnings (the 
> printed warnings occur earlier), I suppose depreciation checking can still 
> be slowing things down, even if no warnings are printed anymore? I guess 
> I'll just have to wait to see if Sundials can catch up (I see it's failing 
> to pass tests under 0.4.0). This is very annoying as I wanted to move up 
> from 0.3.11 because of problems in the PyCall/PyPlot/Conda packages that I 
> don't seem to find a solution for in 0.3.11 but have been told are resolved 
> in 0.4.0.
>
> Please accept the following not as unbridled criticism but as a way to 
> improve working procedures. I've been developing Julia code since release 
> v0.3.7. Unfortunately this isn't the first time that I lose many hours 
> having to figure out why something that works in one release stops working 
> in a subsequent one. To be honest, it's putting me off Julia and it must 
> have similar effects on other potential users too. To me this points to the 
> need for better procedures and guidelines in the way the language 
> progresses and how the "official" packages catch up. I worked a couple of 
> years for the MathWorks. Breaking backwards compatibility was generally not 
> allowed, and the coordinated testing and release procedures made that 
> nearly impossible. For Julia to be taken seriously by people outside the 
> academic community, it would do well to start looking at how similar 
> procedures can be adopted into an open-source development model. It's one 
> thing to write good code and develop the "ideal" language, it's another 
> thing altogether to release workable software to an outside community. 
>
> On a slightly different note, in 2 or 3 release cycles, Matlab will have 
> caught up on any performance gains Julia may have introduced (by using the 
> same LLVM compiler procedures Julia uses) and then the only thing Julia 
> will have going for it is that it's free. But my cost to my employers is 
> such that if I lose as little as 3 days a year on compatibility issues, 
> they would be better off paying for a Matlab license...
>
> Best.
>
> Kris
>
>
>
>
>
>  
>
> On Thursday, October 22, 2015 at 10:58:30 PM UTC+1, Stefan Karpinski wrote:
>>
>> You can try using @code_warntype to see if there are type instabilities.
>>
>> On Thu, Oct 22, 2015 at 5:50 PM, Gunnar Farnebäck <[email protected]> 
>> wrote:
>>
>>> If you don't have deprecation warnings I would suspect some change in 
>>> 0.4 has introduced type instabilities. If you are using typed 
>>> concatenations you could be hit by 
>>> https://github.com/JuliaLang/julia/issues/13254.
>>>
>>>
>>> Den torsdag 22 oktober 2015 kl. 23:03:00 UTC+2 skrev Kris De Meyer:
>>>>
>>>> Are there any general style guidelines for moving code from 0.3.11 to 
>>>> 0.4.0? Running the unit and functionality tests for a module that I 
>>>> developed under 0.3.11 in 0.4, I experience a 500 times slowdown of blocks 
>>>> of code that I time with @time. 
>>>>
>>>> Can't even imagine where I have to start looking, and find it 
>>>> flabbergasting that perfectly valid julia code under 0.3.11 (not 
>>>> generating 
>>>> a single warning) can show such a performance degradation under 0.4.0.
>>>>
>>>> Anyone seen anything similar? Is there some fundamental difference in 
>>>> how code is JIT-compiled under 0.4.0?
>>>>
>>>> Thanks,
>>>>
>>>> Kris
>>>>
>>>>
>>>>
>>>>
>>

Reply via email to