multiprocessingのPoolを使いましたが、使わないより遅いのはなぜでしょうか?

import time
from multiprocessing import Pool

def f(x):
  return x*x

start = time.time()
with Pool(processes=4) as p:
  p.map(f,range(10))

print(f'time1:{time.time()-start}')

start = time.time()
a = [f(x) for x in range(10)]

print(f'time2:{time.time()-start}')

結果

time1:0.1648421287536621
time2:6.29425048828125e-05

Python: Python3.7.0
OS: macOS High Sierra
プロセッサ: 2.3 GHz Intel Core i5
メモリ: 16 GB 2133 MHz LPDDR3

追記

PicoSushiさんのご回答で、オーバーヘッドが原因ということがわかりました。sleepでmultiprocessingの効果を確認できましたが、データを増やして見ると、やはりmultiprocessingの方が遅くなります。
大量な計算を行う時にmultiprocessingを使わないほうがいいでしょうか?それとも他の方法がありますか?

import time
from multiprocessing import Pool

def f(x):
  return x*x

start = time.time()
with Pool(processes=4) as p:
  p.map(f,range(10000000))

print(f'time1:{time.time()-start}')

start = time.time()
a = [f(x) for x in range(10000000)]

print(f'time2:{time.time()-start}')

結果

time1:2.1132028102874756
time2:1.4385631084442139