약간 이해가 안되는데, 정렬을 적용함에 따라 압축률이 왜 달라지는거죠 개별 파일별로 압축률은 같을텐데

사용하고 있는 알고리즘은 Deflate이고요. 이는 이전에 압축에 사용했던 내용을 슬라이딩 윈도우에 담고 있습니다. 이번에 10바이트를 처리했으면 슬라이딩 윈도우에는 현재 처리한 10바이트가 마지막에 추가되는 식으로 관리되고 슬라이딩 윈도우의 크기는 고정입니다.

슬라이딩 윈도우에 담은 내용과 같은 내용이 발견되면 LLD (Literal, Lengh, Distance)를 대신 적어 압축을 하는 방식입니다. Distance는 슬라이딩 윈도우의 어디부터 같은 내용인지, Lengh는 슬라이딩 윈도우에서 같은 내용의 길이, Literal은 같지 않은 첫번째 글자입니다.

Deflate는 슬라이딩 윈도우에 뭘 담고 있는지가 중요하기 때문에 유사한 내용을 직전에 보았는지가 중요하고 유사한 파일을 보았으면 더 압축을 잘할 가능성이 있습니다.

이떤 방식으로 압축되는지는 아래 슬라이스를 참조해주세요. (gzip도 Deflate 기반입니다.)
https://speakerdeck.com/dalinaum/…

같은 폴더내에서 같은 이름/비슷한 이름을 가진 파일들의 내용은 비슷해서 압축률이 높을텐데,
압축할 때 이 같은 것들을 찾는 범위가 아주 넓지 않아서, 파일을 정렬하면 이 비슷한 것들이 모여서 압축된 확률이 높아질 것 같다는 얘기인듯 합니다.