For blocks of text, sprintf() is slow according to my tests. Also, having the mapping between place-holders and the list of actual variables or datastructures often makes this code difficult to read. But the printf() family are widely supported and have a huge range of nice features. Performance is a cold mistress though!From an ease-of-reading and maintenance, debugging point of view, I much prefer HEREDOC and "...{$variable}..." methods.For a block of HTML markup with place holders, the fastest by far was:-?><div> markup etc<?= $variable ?>more markup<?My tests comprised 20 runs of a loop of 1 million iterations with output buffering, ditching the buffer on each loop.The timings ranged from average 2.1msec/million repetitions for the <?= $var ?> method up to 7.6msec/million using printf().I'll try some benchmarking tools too, since I just wrote this myself and it could be introducing bias, but they've run on dev servers with low load.Hopefully interesting.