<p>I've always used Subversion or CVS for version control, which use a 'merge' methodology.  One of my friends raves about Perforce and how great it is with its change lists and check-out methodology.</p>

<p>While I'm sure a lot of it comes down to experience &amp; personal preference, I was wondering if any research had been done into which method of version control is more efficient to work in? </p>

<p><strong>EDIT:</strong> To clarify, I know both Perforce &amp; SVN allow locking &amp; merging, but SVN 'encourages' a liberal edit &amp; merge method, whereas as I understand it, Perforce encourages a checkout-checkin method.</p>

Merge is more efficient. For the simple reason that changes to the same file simultaneously tends to be common, and merge allows you to recover from that. In contrast, single checkout prevents that little bit of extra work but it does so at the cost of huge inefficiencies in scheduling. Typically it takes a short amount of time to merge two changes to the same file (e.g. minutes), whereas it takes a significant amount of time to make changes to a file (e.g. many hours or days) so that preventing access to editing a file is a huge inefficiency.
Note that Perforce does not force the checkout methodology, it allows concurrent checkouts (equivalent to merge).