v0.2.6
This release contains several new features, including a new set of parallelism operators to help users optimize the performance of their queries. See below for additional details. Thank you for your continued support!
More Fine Grained Control Of Parallelism Operators
ZIO Query now provides users more ability than ever to control the parallelism of their queries:
zipWith
- effects will be performed sequentially and requests to data sources will be pipelined but not batchedzipWithPar
- effects will be performed in parallel and requests to data sources will be batchedzipWithBatched
(NEW) - effects will be performed sequentially but requests to data sources will be batched
The zipWithBatched
operator allows users who know they do not need to perform arbitrary effects in parallel to avoid the overhead of forking fibers and maximize the performance of their queries. Batched variants of all the usual zip
, foreach
, and collectAll
operators are available to help users take advantage of this functionality.
Thanks to @ghostdogpr and the Caliban team for their feedback that led to the implementation of this feature!
Support For Data Sources Returning Additional Results
Sometimes in the process of executing a request a data source will incidentally produce other results. Data sources can now return these additional results simply by including requests and corresponding results in the CompletedRequestMap
and they will be cached and made available to subsequent steps in the query.
Thanks to @vigoo for his feedback that led to this feature.
Miscellaneous Improvements
This release also includes several other improvements. In particular @paulpdaniels added a host of operators from ZIO
to ZQuery
to make it easier to work with and transform ZQuery
values. Cache
has a more extensible interface and CompletedRequestMap
now has a more readable rendering to facilitate debugging.