Skip to content

v0.2.6

Compare
Choose a tag to compare
@adamgfraser adamgfraser released this 16 Dec 06:18
5746d54

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 batched
  • zipWithPar - effects will be performed in parallel and requests to data sources will be batched
  • zipWithBatched (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.