Я использовал это регулярное выражение годами без проблем: s/>\s*</></g
В Python re.sub(r'>\s*<', '><', html)
Или в PHP preg_replace('/>\s*</', '><', $html);
Это убрало все пробелы между тегами, но нигде, это довольно безопасно (но не идеально, бывают ситуации, когда это сломается, но они редки).
Моя главная причина для этого не скорость / размер файла, а потому, что пробел часто вводит, ну, в общем, пространство. Это было бы хорошо, но когда вы начинаете копаться в вашем DOM с Javascript, пробелы часто теряются, создавая (незначительные) различия в макете.
Рассмотрим:
<div>
<a>link1</a>
<a>link2</a>
</div>
Между ссылками есть пробел, но теперь я делаю что-то вроде:
$('div').append('<a>link3</a>')
А места нет ... Мне нужно вручную добавить место в моем JS, что довольно уродливо и подвержено ошибкам ИМХО.