There&#x27;s a great big unexplored area: Optimising the expression.<p>I had a hack back in the previous millenium that improved on .tar.gz, compatibly. I think it used find, but the current expression would be:<p><pre><code>  tar zcf $(file **&#x2F;*(.) | sort -T: -k2 | cut -d: -f1)
</code></pre>
The use of file is a bit of a hack, but the idea is good: let the compressor compress all of the source code together, without being distracted by dissimilar files. Ditto for other types.<p>Compressing a byte stream is not the same as compressing the data. Reordering a tar file doesn&#x27;t change the meaning, and IMO the big, big gap in compression research is to identify such expression transformations.<p>Compression algorithms regard the input as god-given, but in reality much input can be reordered or otherwise transformed. The order of the files in a .tar could be reordered if the compressor could say anything about what&#x27;s beneficial; the order of glyphs in a font could be reordered too. That sort of communication between the compression subsystem and the data source could be a very fruitful area of research.