Closed karajan9 closed 5 years ago
force true is relatively buggy on windows! i dont really know what to do about it^^ i think you'll need to close julia and manually copy them. make sure that you have a back-up! https://nextjournal.com/sdanisch/static-cairomakie in the last cell is described which paths you need to copy
That worked, thank you. I wasn't aware the building worked and only the copying was problematic. When starting Julia I now get the following message
┌ Warning: QuartzImageIO.jl can only be used on Apple macOS. Suggested usage is
│ @static if Sys.isapple()
│ using QuartzImageIO
│ # QuartzImageIO specific code goes here
│ end
└ @ QuartzImageIO C:\Users\Administrator\.julia\packages\QuartzImageIO\9DhKg\src\QuartzImageIO.jl:72
3
Starting Julia...
but everything seems to work fine. Thanks again for your awesome work!
Edit: every time something recompiles there are lots of these messages.
Hm, yeah, that's annoying... This might only be solvable by explicitely special casing QuartzImageIO
.
That worked, thank you. I wasn't aware the building worked and only the copying was problematic. When starting Julia I now get the following message
┌ Warning: QuartzImageIO.jl can only be used on Apple macOS. Suggested usage is │ @static if Sys.isapple() │ using QuartzImageIO │ # QuartzImageIO specific code goes here │ end └ @ QuartzImageIO C:\Users\Administrator\.julia\packages\QuartzImageIO\9DhKg\src\QuartzImageIO.jl:72 3 Starting Julia...
but everything seems to work fine. Thanks again for your awesome work!
Edit: every time something recompiles there are lots of these messages.
Is plot(rand(100))
fast?
I tried compiling Plots on Windows, using Plots
was fast but then plot(rand(100))
I had to wait as usual.
did you run with the new system image?
Yes, I replaced sys.dll
and got the same warning about QuartzImageIO.jl
at startup. using Plots
is fast, but plot
is slow.
I got the same error as the one reported in the first message with Julia 1.1.0 on Arch Linux, so it's not Windows-only:
ERROR: IOError: unlink: permission denied (EACCES)
Stacktrace:
[1] uv_error at ./libuv.jl:85 [inlined]
[2] unlink(::String) at ./file.jl:727
[3] #rm#9(::Bool, ::Bool, ::Function, ::String) at ./file.jl:253
[4] #rm at ./none:0 [inlined]
[5] #checkfor_mv_cp_cptree#10(::Bool, ::Function, ::String, ::String, ::String) at ./file.jl:291
[6] #checkfor_mv_cp_cptree at ./none:0 [inlined]
[7] #cp#12(::Bool, ::Bool, ::Function, ::String, ::String) at ./file.jl:330
[8] (::getfield(Base.Filesystem, Symbol("#kw##cp")))(::NamedTuple{(:force,),Tuple{Bool}}, ::typeof(cp), ::String, ::String) at ./none:0
[9] #compile_incremental#62(::Bool, ::Bool, ::Bool, ::Nothing, ::Function, ::String, ::String) at /home/mose/.julia/packages/PackageCompiler/oT98U/src/incremental.jl:88
[10] #compile_incremental#63 at ./none:0 [inlined]
[11] (::getfield(PackageCompiler, Symbol("#kw##compile_incremental")))(::NamedTuple{(:force,),Tuple{Bool}}, ::typeof(compile_incremental), ::Symbol) at ./none:0
[12] top-level scope at none:0
well, coverage of the plots tests isn't great, so lots of functions will stay uncompiled ;) i only tested with scatter and that seemed to be fast!
I got the following times:
With PackageCompiler
:
julia> @time using Plots
0.001365 seconds (811 allocations: 45.156 KiB)
julia> @time plot(rand(100))
4.528679 seconds (9.51 M allocations: 472.503 MiB, 5.71% gc time)
julia> @time scatter(rand(100))
0.041636 seconds (71.78 k allocations: 3.643 MiB)
and after a restart:
julia> @time using Plots
0.002524 seconds (811 allocations: 45.156 KiB)
julia> @time scatter(rand(100))
4.950979 seconds (9.56 M allocations: 474.999 MiB, 5.36% gc time)
julia> @time plot(rand(100))
0.019660 seconds (22.45 k allocations: 1.147 MiB)
Without PackageCompiler
:
julia> @time using Plots
5.786976 seconds (9.94 M allocations: 531.261 MiB, 4.57% gc time)
julia> @time plot(rand(100))
20.307255 seconds (46.62 M allocations: 2.270 GiB, 6.82% gc time)
julia> @time scatter(rand(100))
0.044161 seconds (101.00 k allocations: 5.193 MiB)
and after a restart:
julia> @time using Plots
5.994450 seconds (9.94 M allocations: 531.259 MiB, 4.46% gc time)
julia> @time scatter(rand(100))
20.743231 seconds (46.66 M allocations: 2.272 GiB, 6.72% gc time)
julia> @time plot(rand(100))
0.014998 seconds (19.56 k allocations: 1.016 MiB)
So at least for me it is definitely faster, going from 25 s to 5 s feels worth it to me. If you mean by "scatter is going fast" even better than this, then I can't make out a difference.
Do I understand you correctly, the way to improve this would be add a snoopfile in which I need to write the things I want to have compiled?
Edit:
Including plot(rand(100))
in the runtest file brings this down to
julia> @time using Plots
0.001461 seconds (811 allocations: 45.156 KiB)
julia> @time plot(rand(100))
3.752079 seconds (8.26 M allocations: 409.763 MiB, 6.07% gc time)
Not quite sure why it's not zero now, but hey, still better than before ;-)
I tried to compile
Plots
following the procedure posted here. I run Julia 1.1.0 on Windows as Administrator. I get the following error:It seems that there is some problem mixing the Administrator (which I need to make ImageMagick build) and my usual user where Julia is installed?