This message was posted on behalf of Intel Corporation
First you need to consider the tasks that your hosts are going to be running. You can go one core to one vCPU or even go over that. You can have a single six core CPU with 16 vCPUs if your hosts are not demanding a lot of processing. The relationship between vCPUs and cores/threads is not bounded.
To understand the performance impact you need to have a deep understanding of the VMware scheduling works and spend quite some time with monitoring tools to make sure the performance is optimal.
So to answer your question you can assign as many as you want.