-
Notifications
You must be signed in to change notification settings - Fork 27
Enable async chunk reading #106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
a47d449
a62432d
c4c05fe
2ba7be6
f76f4bb
e7dc82e
f8412ef
8411d33
320d8a2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
name = "Zarr" | ||
uuid = "0a941bbe-ad1d-11e8-39d9-ab76183a1d99" | ||
authors = ["Fabian Gans <[email protected]>"] | ||
version = "0.8.0" | ||
version = "0.9.0" | ||
|
||
[deps] | ||
AWSS3 = "1c724243-ef5b-51ab-93f4-b0a88ac62a95" | ||
|
@@ -14,6 +14,7 @@ HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" | |
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | ||
LRUCache = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637" | ||
OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" | ||
OpenSSL = "4d8831e6-92b7-49fb-bdf8-b643e874388c" | ||
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" | ||
URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
using HTTP | ||
using OpenSSL: OpenSSL | ||
|
||
""" | ||
HTTPStore | ||
|
@@ -13,7 +14,7 @@ struct HTTPStore <: AbstractStore | |
end | ||
|
||
function Base.getindex(s::HTTPStore, k::String) | ||
r = HTTP.request("GET",string(s.url,"/",k),status_exception = false) | ||
r = HTTP.request("GET",string(s.url,"/",k),status_exception = false,socket_type_tls=OpenSSL.SSLStream,connection_limit=25) | ||
if r.status >= 300 | ||
if r.status == 404 | ||
nothing | ||
|
@@ -25,10 +26,12 @@ else | |
end | ||
end | ||
|
||
|
||
push!(storageregexlist,r"^https://"=>HTTPStore) | ||
push!(storageregexlist,r"^http://"=>HTTPStore) | ||
storefromstring(::Type{<:HTTPStore}, s,_) = ConsolidatedStore(HTTPStore(s),""),"" | ||
|
||
store_read_strategy(::HTTPStore) = ConcurrentRead(concurrent_io_tasks[]) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If we are using channels, then I think it would be better to change the default concurrent_io_tasks size to around 100 rather than the current default (10). This corresponds to the maximum number of concurrent connections in aiohttp for example and I think it would be better to prioritize runtime over memory usage, then users would set this lower only if they need to do suboptimal chunk access and want to limit their memory usage. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok, I have increased this to 50 for now. Do you still see speedups for 100 tasks compared to 50? If yes, then I am happy to increase this further. |
||
|
||
|
||
## This is a server implementation for Zarr datasets | ||
|
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.