Skip to content

JuliaFolds2/SplittablesBase.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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