I just was studying Map and ParallelMap in a MacBook Air of 2 kernels. So, I tried comparing the AbosoluteTiming of these input lines and the outputs sorprised me because I thought a ParallelMap would run faster than Map. Also, the Method -> "CoarsestGrained" aborted.
On["Packing"];
Needs["Developer`"];
data = RandomReal[1, 5 10^6];
In[202]:= Map[#^2 &, data]; // AbsoluteTiming
Out[202]= {0.730642, Null}
In[204]:= ParallelMap[#^2 &, data]; // AbsoluteTiming
Out[204]= {9.1048, Null}
In[205]= ParallelMap[#^2 &, data, Method -> "CoarsestGrained"]; // AbsoluteTiming
During evaluation of In[205]:= $Aborted[]
During evaluation of In[205]:= FromPackedArray::unpack: Unpacking array in call toHoldForm.
Out[205]= {7.14583, Null}
In[207]:= ParallelMap[#^2 &, data, Method -> "EvaluationsPerKernel" -> 2]; // AbsoluteTiming
Out[207]= {4.5805, Null}
So, I have various questions: Why is faster Map than ParrallelMap?, Why did the method "CoarsestGrained" abort?, Why is the method of "FinestGrained" so slow (I didn't show its out because I aborted it? and What is the meaning of the number 2 in the method of "EvaluationsPerKernel"?