8 listopada 2011
BPFStat

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.

Screenshot BPFStat

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

Dodaj komentarz (e491342)
Powered by:
Hellcore Mailer - polski program pocztowyOpera Web BrowserWykopmy IE6!FreeBSD - The Power to Serve!SlackwareRozbrat
RSSy:
Sidekick:
Projekty:
O autorze:
Zobacz:
Kategorie:
Archiwum:
Szukaj:
Login: