Closed jakobnissen closed 1 year ago
Possible duplication of #61. In that issue, @StefanKarpinski mentions TranscodingStreams.jl, so maybe they're orthogonal? I don't think I've ever used either directly, so I'm not sure.
I do think it should be either archived or transferred to a different Org, its presence in BioJulia is mostly historical accident.
IIRC, Kenta Sato wrote this package to replace BufferedStreams - the NoopStream works like BufferedStreams, but better.
I think the anchor functionality is missing in the other packages.
TranscodingStreams is much slower for me:
julia> using BufferedStreams, TranscodingStreams
julia> begin
array = rand(UInt8, 1024*1024*256)
tmp, io = mktemp()
write(io, array)
close(io)
end
julia> function readchars(io)
s = 0
while !eof(io)
s += read(io, UInt8)
end
return s
end;
julia> open(tmp) do io
@time readchars(BufferedInputStream(io, 128*2^10))
end;
0.136337 seconds (3 allocations: 128.172 KiB)
julia> open(tmp) do io
@time readchars(NoopStream(io; bufsize=128*2^10))
end;
1.012437 seconds (5 allocations: 128.234 KiB)
So I think there is till value in this package.
@KristofferC good point. Since all of BioJulia's IO goes through TranscodingStreams, I think what your comment implies is that we should do our best to make TranscodingStreams much faster than it is currently. And I agree we shouldn't retire BufferedStreams until we can reasonably claim that users can switch to NoopStream without any loss of performance.
While you are here, perhaps you can look at https://github.com/BioJulia/BufferedStreams.jl/pull/64 heh.
Unfortunately, I dont have merge permissions for this repo (I'm not a maintainer). In fact, I'm pretty sure no-one is, and this package is unmaintained despite having 1,012 dependents.
Since it is in the BioJulia org someone should have some power to be able to add new collaborators?
Whoops, I conflated this package with TranscodingStreams. I can look at #64 tomorrow
I think this can be closed? Sounds like we are keeping this package.
At least until the performance in the replacement package has been improved to at least match this package.
I'm reasonably certain this package is deprecated in favor of TranscodingStreams and has been for a few years. Should we just archive it and put a big, fat sign up on the README that redirects people to TranscodingStreams?