Of course… that’s always the complaint in Julia: “I want to write a script that’s run every five minutes and creates a plot,and it’s taking forever! And no I don’t want to keep a julia session running, I want to start over each time.”
Sure, and I explicitly point that out. However, that is a different way of looking at the problem. Perhaps reducing the need for restarts is another way of attacking the problem.
Yeah, I counted the time from the desktop to the first plot.
I just timed from starting to window on screen 24s for matlab. But the user experience is different, as major part of the 24s is splash screen, GUI build up on the screen and ‘Initialization’. The first plot on an open GUI is ~2.5s (depending on how much content). While for julia the ‘command line freezes’.
We can easily fix that:
println(stdout, """
________________________________________
/ Initialization in progress. A bunch of \
| very sophisticated things are being |
\ initialized... /
----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
""")
... # plotting code here
As strange and comic as this looks like: Yes, that’s a solution providing a better usability.
Users are willing to accept delays if they understand that some work is done (that’s why we see progress bars everywhere). If the computer is just unresponsive, the first thought is: Something is wrong.
julia> @time using MATLAB
0.184710 seconds (184.47 k allocations: 10.493 MiB)
julia> x=0:0.01:100
julia> y = sin.(2*pi*x)
julia> @time mxcall(:plot,0,x,y)
0.942919 seconds (1.50 M allocations: 75.146 MiB, 2.45% gc time)
If you use MATLAB.jl
, it is actually quite fast to get first plot.
I have been using MATLAB from Julia to plot stuff, and the experience is quite joyful, actually. So basically I am paying money for a plotting library.
And if you start Matlab with - -nojvm (sorry, I’m on a touch screen) I bet the TTFP is less than a second
ah yes, startify
Yes! That’d be amazing.
Honestly, it would be great to print a simple message like this the first time someone uses a package.
i don’t think so …
“>> Error using plot
This functionality is no longer supported under the -nojvm startup option.”
(>> Elapsed time is 1.829763 seconds. And i know for ‘this’ matlab the access to licensing is already 1…2 s)
OK, I’m not near a computer so could not test it before posting.
afaics -nojvm disables plotting (along the intended JVM free operation) and this is part of the release notes R2013a. Option of choice to stop the GUI starting up is -nodesktop.
In case this was unclear: the suggestion was tongue-in-cheek. No one should make a PR. (But if they do, the cow should be rolling her eyes and flaming).
I believe that TTFP (and compilation time in general) is a priority and should improve soon. Also, packages should not litter the output with various messages.
Maybe I am overly optimistic, but in the meantime I consider it within the capacity of an average adult to wait a short while when loading unfamiliar package in a new programming language without assuming that the computer is broken.
You obviously weren’t raised on microwaved food. Dinner shouldn’t take more than a minute to prepare.
Can someone explain to me why my post was flagged? I don’t mean to offend anyone, and I don’t understand how that can cause offense? I am a little on the spectrum, but if you explain, I will understand.
I think PGFPlotsX’s syntax looks very complicated and different from Julia syntax, and new users may be scared away by its syntax before they have a chance to see its speed. Also, I feel like it is more straightforward to use PGF/TikZ in Latex.
On the other hand, Gaston is a fast plotting package with simpler syntax. The problem is that it is not under the JuliaPlots organization, and new users cannot find it.
I personally think Julia has a lot of great packages that lack marketing. I didn’t know the existence of the Julia package FixedEffectModels until very recently. It is actually better than its counterparts in R and Stata. I would say for more than 50% of finance scholars it would suffice to solely use this package to run regressions for their papers.
Also, another very interesting package Miletus seems to have been open sourced, but there was no notification about that.
I highly suggest Julia to create a task views page, so new users know where to start. R did very well about this: CRAN Task Views
You possibly violated the guidelines
In particular, do not sexualize the term “Julia” or any other aspects of the project. While “Julia” is a female name in many parts of the world, the programming language is not a person and does not have a gender.
Right. Don’t mean to cause offense.