I'm not sure what you mean here: a parallel array is simply an array of 
numbers; there is nothing "magic" about it.

If we _really_ wanted to be blunt about it, we could simply say (in Array.map)

if (length >= giant && function.isEasyPeasy() && everything in the array is a 
number)
   return doHardcoreMap();

// carry on doing regular map
...

Understand that the parallel APIs have to do all of this as well, the only 
thing they lose is the "is everything a number" check

--Oliver

On Apr 10, 2013, at 12:50 PM, Dirk Pranke <dpra...@chromium.org> wrote:

> Right, I get how ParallelArrays would work. I was asking Filip how you might 
> infer that an array could be a ParallelArray.
> 
> -- Dirk
> 
> On Wed, Apr 10, 2013 at 12:45 PM, Oliver Hunt <oli...@apple.com> wrote:
> The parallel arrays apis aren't a magic "make my code parallel" wand.
> 
> They don't make general code parallel, they simply provide a bunch of 
> functions like map, etc where if you restrict your list of language features 
> to a specific subset, they'll vectorise it.
> 
> For instance
> 
> ParallelArray([1,2,3]).map(function(a,v) { return v * 2; })
> 
> would be vectorised
> 
> ParallelArray([1,2,3]).map(function(a,v) { return v.x * 2; })
> 
> wouldn't be.
> 
> This isn't "solve autovectorisation", this is "we've been given a specific 
> operation to perform on each element of an array, parallelise it if 
> possible", and what's possible is arbitrarily limited, and require a distinct 
> type that isn't an array.
> 
> --Oliver

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to