partition

partition(max: number) 🡒 number, process

The partition is a utility process intended to facilitate the parallelization of large processing tasks via the loop block.

table T[t] = extend.range(100)
T.X = 0 // dummy initialization

T.Part = partition(10) scan t
i = -1
loop 10
  i = i + 1
  keep where T.Part == i
  T.X = T.N^2 // here, the expensive calculation

show table "Squares" a1a4 with T.X

Annex: implementation

The partition process could be manually re-implemented as:

def process partition(max: number) default 1 with 
  keep prev = 0
  prev = if prev >= max then 1 else prev + 1
  return prev