Specifically, I’m playing with rapidly updating plots in a Pluto environment and would like to increase the level of optimizations applied to Plots.jl as a user to see if it changes update rates.
Module. The docs should be pretty clear.
Where did you find documentation of @optlevel?
julia> apropos("@optlevel") Base.Experimental.@optlevel help?> Base.Experimental.@optlevel Experimental.@optlevel n::Int Set the optimization level (equivalent to the -O command line argument) for code in the current module. Submodules inherit the setting of their parent module. Supported values are 0, 1, 2, and 3. The effective optimization level is the minimum of that specified on the command line and in per-module settings.
Great, only if they didn’t choose that strange function name! Does
apropos mean “on that subject” from French? Wasn’t just
docsearch clear and good enough? Of course my native language is neither English nor French. Any way, thanks for that useful information.
I had looked for it using
? and a few attempts, also in the online docs, but had forgotten about
I would really like to be able to do something like
using Plots optlevel=3 but it seems I have to modify the module itself, which means I need to learn a few things first.
This usage goes back to Unix.
I’m also interested in playing with the optimization level in current packages.
Here’s a snippet from Plots.jl:
module Plots if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@optlevel")) @eval Base.Experimental.@optlevel 1 end const _current_plots_version = VersionNumber(split(first(filter(line -> occursin("version", line), readlines(normpath(@__DIR__, "..", "Project.toml")))), "\"")) ........
Does this mean I simply have to modify the optlevel and rebuild Plots?
Did you try different plotting packages?
I tried a couple of different backends,
plotly() (which is my goto in many situations due to the interactivity) is slower than using
gr(), but I haven’t had time to do a lot more exploring.
Okay! Also curious to hear about the speed of other packages (without Plots.jl).