Skip to content

v0.6.0

Choose a tag to compare

@davidackerman davidackerman released this 23 Oct 16:51
1bb9391

One new argument, at chunkmirage's request. No placement change and no unit table change;
nothing changes for a caller that does not pass it.

  • wa.shared_context(cache_bytes, threads=): None (the default) limits the decoding and
    file I/O pools to thread_budget() as in 0.5, a positive number limits them to that many,
    and 0 writes no limit, so tensorstore sizes them itself (every CPU on the node). Each
    (cache_bytes, threads) is one watched context for the process, so a server can share
    one cache pool across every store it opens at the thread count it chose, without building
    and watching its own context. A pickled handle on such a context comes back on the same
    one; threads=None still lets the other process size by its own job.
  • Documented what a pool of one thread costs (spec Behaviour 7, capped_context_spec):
    nothing on one-chunk blocks; on 8-chunk blocks, half the speed of 4 in a two-slot job
    but only 7 to 19% slower in a one-slot one (c-elegans on /nrs), so a worker per slot
    loses little at the default.