Revision 58bafe499b2acfa1ee722c4782c782ad50ebc04a authored by Jameson Nash on 21 June 2019, 17:17:53 UTC, committed by Jeff Bezanson on 21 June 2019, 17:17:52 UTC
This should hopefully cover most I/O operations which go through libuv to make them thread-safe. There is no scaling here, just one big global lock, so expect worse-than-single-threaded performance if doing I/O on multiple threads (as compared to doing the same work on one thread). The intention is to handle performance improvement incrementally later. It also necessarily redesigns parts of the UDPSocket implementation to properly handle concurrent (single-threaded) usage, as a necessary part of making it handle parallel (thread-safe) usage.
1 parent dd56dbf
write_base_cache.jl
# Write the sys source cache in format readable by Base._read_dependency_src
cachefile = ARGS[1]
open(cachefile, "w") do io
for (_, filename) in Base._included_files
src = read(filename, String)
write(io, Int32(sizeof(filename)))
write(io, filename)
write(io, UInt64(sizeof(src)))
write(io, src)
end
write(io, Int32(0))
end
Computing file changes ...