timholy / SnoopCompile.jl

Provide insights about latency (TTFX) for Julia packages
https://timholy.github.io/SnoopCompile.jl/dev/
Other
309 stars 48 forks source link

using version handler for new Base functions #55

Closed aminya closed 4 years ago

aminya commented 4 years ago

For Julia 1, Base.BroadCast.restart_copyto_nonleaf! is not defined which results in error: https://travis-ci.com/aminya/Atom.jl/jobs/270937636#L418

https://github.com/aminya/Atom.jl/blob/dfbc1119d38fa9974957b81e11e75cb3436f9e49/deps/SnoopCompile/precompile/precompile_Atom.jl#L165

Parcel doesn't seem to filter this out for old Julia

timholy commented 4 years ago

Parcel only tries to eval the statement on whatever version of Julia is doing the snooping; it doesn't check whether the statement can be evaled on any other version of Julia. If we could launch several Julia versions and pass messages between them, we could fix this. Just trying to build the package with a given precompile file is a pretty blunt tool because it's awkward at that point to figure out which line(s) are causing the problem.

aminya commented 4 years ago

If we add a new blacklist entry for the user to enter the version_blacklist and even os_blacklist, we can add a if else or a try catch for those sentences in precompile signatures