There's more than one way to do things | |
PerlMonks |
Re^4: How to efficently pack a string of 63 charactersby LanX (Saint) |
on Sep 10, 2021 at 07:45 UTC ( [id://11136629]=note: print w/replies, xml ) | Need Help?? |
Yes I misread the glob like producing
9 runlength chunks 'AAAAA','AA','A',...
and coding each as a byte. I agree that this 5 to 1 is almost optimal, if the alphabet is really random, i.e without redundancy. 3**5=243 that means you are using 7.92 bits of the byte. Plus some more for smaller trailing chunks. That's very efficient. The theoretical optimum is at 37.5 bytes and you only need 39. But I think zip should do considerably better than 40% if this particular raw input was longer. (update: like proven here)
Cheers Rolf
In Section
Seekers of Perl Wisdom
|
|