You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This allows smaller memory footprint by avoiding materialize the entire array into memory. And we can use something like OnlineStats
I tried to implement one for a few days now and find fBasketSeek is very annoying and want some suggestion. I'm not sure what would be the canonical way to do this but:
struct BRANCH_ITR
io
seeks
thetype
count::Int
end
function Base.iterate(S::BRANCH_ITR, idx=1)
basket_seek = S.seeks[idx]
if idx > S.count
return nothing
elseif basket_seek==0
return (nothing, idx+1)
else
s = datastream(io, basketkey)
return (readtype(s, S.thetype), idx)
end
end
this doesn't work because readtype advance the cursor and we lost track of it in the next iteration, where would you suggest to keep track of:
Sorry @Moelf I was very busy with work stuff and put UnROOT on hold (a bit selfish, but currently UnROOT works for my own analysis, so I put it on low prio in favour of finalising my PhD... 🙈 )
Anyways, the cursor interface needs to be fixed. I was playing with two different ways to implement it and the newer one is thread-safe and I think it will also easily solve the issue with your iterator interface.
So in fact, readtype() should use a copy of the Cursor instead of the actual io. What do you think?
This allows smaller memory footprint by avoiding materialize the entire array into memory. And we can use something like OnlineStats
I tried to implement one for a few days now and find
fBasketSeek
is very annoying and want some suggestion. I'm not sure what would be the canonical way to do this but:this doesn't work because
readtype
advance the cursor and we lost track of it in the next iteration, where would you suggest to keep track of:https://quinnj.home.blog/2020/11/13/partition-all-the-datas/ Leverage this as ROOT provides natural partition too.
The text was updated successfully, but these errors were encountered: