Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1.83 KB

README.md

File metadata and controls

56 lines (43 loc) · 1.83 KB

SplittablesBase: a simple API for parallel computation on collections

Dev GitHub Actions

SplittablesBase.jl defines a simple set of APIs:

  • halve(collection): splitting given collection roughly in half.
  • amount(collection): an "approximation" of length.

These are the basis of parallel algorithms that can be derived from reduce. Custom containers can support many parallel algorithms by simply defining these functions.

SplittablesTesting.jl provides simple test utility functions SplittablesTesting.test_ordered(examples) and SplittablesTesting.test_unordered(examples) that run some automatable tests with each example container in examples.

See more in the documentation.

Supported collections

halve methods for following collections in Base are implemented in SplittablesBase.jl:

  • AbstractArray
  • AbstractString
  • Dict
  • keys(::Dict)
  • values(::Dict)
  • Set
  • Tuple
  • NamedTuple
  • zip
  • pairs
  • Base.Generator
  • Iterators.filter
  • Iterators.flatten
  • Iterators.partition
  • Iterators.product
  • Iterators.enumerate
  • Iterators.reverse
  • skipmissing

Packages using SplittablesBase.jl

See also