В случае .tgz и .tbz большая часть потери производительности (особенно для больших архивов) должна исходить из того факта, что вам нужно читать с диска и распаковывать все данные вплоть до запрошенного вами файла. Если вы запрашиваете последний файл в архиве, то, будь то скрипт CGI или веб-сервер, что-то все равно придется тратить время на чтение, распаковку и удаление всех архивных данных только для того, чтобы добраться до вашего файла.
Формат Zip допускает произвольный доступ. Если ваш CGI-скрипт очень прост (может быть sh-скриптом) и, по сути, просто вызывает «unzip» с правильным аргументом, то скорость, которую вы могли бы получить, если бы серверный модуль сделал это, была бы довольно небольшой.
Тем не менее, это довольно безумно, если модуль для этого не существует (но нет, я не смог его найти).