BPFStat to mały program do generowania histogramu zawartości pliku. W sieci można znaleźć kilka programów które to potrafią, ale nie spotkałem się z takim, który potrafi podać przy okazji wartości skrajne, ilość unikalnych wartości, ukryć słupki dla wartości które nie wystąpiły, ukryć maksimum, no i chyba najważniejsze - pracować z 16-to i 32-bitowymi wartościami - więc napisałem swój.

Po wyklikaniu kodu okazało się, że jest szybszy niż przewidywałem - zrobienie histogramu dla obrazu płytki CD zajmuje na Atomie 330 jakieś 5 sekund, podczas gdy stosowany przeze mnie do tej pory HxD potrzebuje na to ponad 23 sekundy. Z generowaniem wartości 32-bitowych jest dużo gorzej, ale działa i na razie musi tak zostać (inna sprawa, że ten algorytm nie wymaga przy tym 232 * 4 bajtów pamięci ;-)). Program powinien sobie poradzić z plikami większymi od 2GB, ale nie jest to reguła (w szczególności, jeśli jakaś wartość wystąpi więcej jak 231-1 razy, liczniki przekręcą się i program zacznie pokazywać bzdury). Wartości 32-bitowe są reprezentowane przez signed inty, więc pokazywane są wartości od -231 do 231-1.
Program bez kodu źródowego, na licencji freeware. Do pobrania ze strony Branchware.
« Pierwszy mały wstrząs | Zaktualizowany BPFStat »
Do czego to stosujesz, o ile to nie tajemnica?
Głównie do oceny sensowności i wyboru sposobu optymalizacji formatów plików z danymi.
Ciągle piszesz to w Delphi? Nie korciło Cię, by spróbować napisać soft cross-platformowo?
Potrzebowałem to w trybie "na wczoraj", nie było więc sensu bawić się w jakieś cudowanie.
Przeczytałem, że program ma wysoką wydajność, myślę sobie, poczytam źródło, a tu źródeł brak... Szkoda.
I tak byś nie czytał ;)
bo napisałeś to w brzydkim delphi? :>
Tak! ;-> I używałem bezpośrednich odwołań do API Win32! I używałem wskaźników! I hacków które nie są jasne, gdy nie wie się z czego składa się obecnie procesor! ;-))
tym bardziej warto przeczytać źródło :P
O braku komentarzy aż zapomniałem wspomnieć.
nie to nie