Would it have to be a separate julia process? (more so than explicitly adding a worker process)
julia> using Distributed
julia> @time using DataFrames
1.043179 seconds (1.73 M allocations: 118.945 MiB, 2.35% gc time, 0.50% compilation time)
julia> w = addprocs(1)
1-element Vector{Int64}:
2
julia> @time @everywhere 2 begin; @time using DataFrames; end
From worker 2: 0.933681 seconds (1.52 M allocations: 106.554 MiB, 6.33% gc time, 0.51% compilation time)
1.405225 seconds (91 allocations: 4.406 KiB)
returning results would be as easy as
timing_result = remotecall_fetch(2) do # arg is the worker id
return remote_global_variables
end