2011-02-09 11 views
6

Zastanawiam się, jaka byłaby różnica w wydajności podczas kompresowania danych za pomocą programu Rubyzip w porównaniu z używaniem rodzimych bibliotek osb do wykonywania kompresji. Pobieram dane do skompresowania z adresu URL, a następnie za pomocą ZipOutputStream, aby utworzyć plik zip. W przypadku rodzimych programów narzędziowych myślę o używaniu narzędzia zip. Byłoby miło usłyszeć plusy i minusy dla obu podejść.Kompresja Rubyzip vs natywna OS

+7

Benchmark it === – denysonique

Odpowiedz

2

Okazuje się, że nie ma dużej różnicy pod względem czasu potrzebnego na operację lub użycie procesora. Ale była znacząca różnica, jeśli chodzi o wykorzystanie pamięci. Z Rubyzip proces zakończył się przy użyciu znacznie większej ilości pamięci w porównaniu do korzystania z zip util. W naszym przypadku użycia pamięci było poważnym problemem, a więc skończyło się na użyciu zip util.

1

Jeśli wyciągasz dane z internetu, wątpliwe jest, aby wąskie gardło było rubyzipem. Wątpię, że zauważysz znaczną różnicę w wydajności, ponieważ będzie ona ograniczona głównie szybkością połączenia internetowego. Plus rubyzip używa natywnych bibliotek do wykonania większości prac. Prawdopodobnie będzie działać dobrze i byłbym bardzo zaskoczony, gdyby było to znacznie wolniejsze dla tego typu aplikacji. Teraz, jeśli obawiasz się, ile cykli procesora zajęło, ponieważ tysiące wątków byłoby uruchomionych jednocześnie, możesz chcieć użyć bibliotek Gnu C.