My guess is that the optimal settings depend on what you want to do. For my particular case, they are 1 core and 4GB of RAM. I use Windows 7, 32bit (no point in assigning more than 4GB) and the programs I use do not care for more cores.
I run VMs in a mid-2012 i7 MBP with 16GB of RAM and a 500 GB SSD. FWIW, when I installed the SSD and increased the RAM to 16GB, VM performance improved significantly; much more noticeable that any settings change.