Vermiculite mixed with good soil. Ā Perlite is completely inert - you may as well use polystyrene bubbles (I actually prefer these to perlite - cheaper and they don't compact like perlite does). Ā Vermiculite is excellent because of cation exchange - its little platelets perform the same job as clay does in a soil - it holds onto and releases nutrients (in the presence of humic acid). Ā Perlite doesn't do this.
Ā
If you are wanting to add perlite because your soil is compacting then add well-decompose bark nuggets (small) or polystyrene bubble with the addition of vermiculite for its nutrient-holding capacity.