Używam serwera opartego na pętli zdarzeń w skręconym pythonie, który przechowuje pliki i chciałbym móc klasyfikować pliki zgodnie z ich kompresją.Jak mogę oszacować ściśliwość pliku bez kompresji?
Jeśli prawdopodobieństwo, że oni korzystać z kompresji jest wysoki, pójdą do katalogu z kompresją btrfs włączony, inaczej oni iść gdzie indziej.
nie muszę mieć pewność - dokładność 80% byłoby mnóstwo, i zaoszczędzić sporo miejsca. Ale ponieważ jest problem z CPU i wydajnością fs, nie mogę po prostu zapisać wszystkiego skompresowanego.
Pliki są w niskich megabajtów. Nie mogę przetestować - skompresować ich bez użycia ogromnej części procesora i nadmiernie opóźnić pętlę zdarzeń lub zreorganizować algorytm kompresji, aby pasował do pętli zdarzeń.
Czy istnieje najlepszych praktyk, aby dać szybkie oszacowanie ściśliwości? To, co wymyśliłem, zajmuje niewielką porcję (kilka KB) danych z początku pliku, przetestuj go (z prawdopodobnym opóźnieniem) i oprzyj moją decyzję na tym.
Wszelkie sugestie? Poradnik? Wady mojego rozumowania i/lub problemu?
Wystarczy stwierdzić, że nie wspomniano o algorytmie kompresji, który planujesz użyć. Powiedziawszy to, nie wydaje mi się, że nic nie możesz zrobić bez sprawdzenia co najmniej raz tego pliku. – Alexander
Dlaczego nie możesz użyć kompresji progresywnej? –
Kompresowanie małej części nie pomoże: jeśli reszta pliku jest właśnie wykonana z kopii tej części, kompresja będzie łatwa. Obawiam się, że jedynym dobrym rozwiązaniem jest skompresowanie całego pliku. –