http://www.perlmonks.org?node_id=425336


in reply to RFC: Implicit Parallelization Pragma

I'd prefer you named your parallelization pragma parallelizable or such. I have similar interests in this flag except mine would be for explictly altering the execution order of blocks to allow pipelines like grep { ... } map { ... } ... to present a low profile instead of having to fully compute each section before passing on to the next operation.

Using the parallizable pragma I can transform the following code. The benefit is I only have the minimum amount of intermediate results present at any given moment rather than the maximum.

{ use parallizable; @ary = map { ... } # block 1 = grep { ... } # block 2 = map { ... } # block 3 LIST; } { for ( LIST ) { for ( do { block 1 } ) { next if not do { block 2 }; for ( do { block 3 } ) { push @ary, $_; } } } }