sobota, stycznia 26, 2008

Dlaczego VirtualBox jest lepszy od VMWare'a

Po pierwsze dlatego, że jest zrobiony w Qt a nie GTK ;)
Trochę wyników z SiSoft Sandry, hostem jest laptop z Celeronem 420 na i945 + Hackett Linux 2008.0, natomiast gościem W2K3:


VMWare

Floating point: Dhrystone ALU 5101 MIPS
Floating point: Whetstone iSSE3 3769 MFLOPS

Multimedia: Integer x8 iSSE2 11724 it/s
Multimedia: Float x4 iSSE2 15637 it/s

Memory bandwidth: Int iSSE2 2501 MB/s
Memory bandwidth: Float iSSE2 2568 MB/s

Cache and memory: Combined index 4864 MB/s
Cache and memory: Speed factor 11.4

Memory latency: Random 203 ns
Memory latency: Speed factor 90.2

VirtualBox

Floating point: Dhrystone ALU 5089 MIPS
Floating point: Whetstone iSSE3 3725 MFLOPS

Multimedia: Integer x8 iSSE2 11599 it/s
Multimedia: Float x4 iSSE2 15717 it/s

Memory bandwidth: Int iSSE2 2438 MB/s
Memory bandwidth: Float iSSE2 2440 MB/s

Cache and memory: Combined index 4742 MB/s
Cache and memory: Speed factor 10.2

Memory latency: Random 216 ns
Memory latency: Speed factor 92.4

Tak na oko wyniki są zbliżone z delikatnym wskazaniem na VMWare'a.
Ale spójrzmy na obrazki z Memory Latency:





And the winner is... VirtualBox.
Jeśli obejrzycie dokładnie dwa obrazki, to widać, że VirtualBox na obszarze pamięci o szerokości 4MB operuje z opóźnieniami
w cyklach procesora na poziomie 75. Tymczasem VMWare oferuje takie opóźnienie
tylko dla 512KB. To by tłumaczyło dlaczego wszelkie operacje graficzne na VirtualBox-ie są szybsze - wszak operujemy na bitmapach w pamięci.
Rezultat: w VirtualBox-ie daje się używać programów graficznych takich jak Paint Shop Pro
i Photoshop. No i nawet płynnie działają teledyski z onetu :)

9 komentarze:

zwierzak pisze...

I do tego jest na Qt ;)

Już od pewnego czasu zauważyłem, że na moim Sempron bez akceleracji sprzętowej szybciej działa właście VirtualBox i dlatego się na niego przeżuciłem. Dodatkowo posiada atut, który nazywa się „pulpit zintegrowany”.

Anonimowy pisze...

Ja również jak zwierzak używam VirtualBox`a ze względu na zintegrowany pulpit. Bardzo przydatne rozwiązanie. VB jest też dużo przyjemniejszy w instalacji, bez potrzeby instalacji patch`y.

jakub007 pisze...

W KDE mam włączone efekty (kcompmgr) i pulpit zintegrowany nie działał tak jak trzeba. Oryginalnie to rozwiązanie miał VMWare Fusion.

Anonimowy pisze...

Mam pytanie: autor pisze, ze VB szybszy, bo napisany z Qt a nie Gtk, ale czy nie jest tak, ze jest to prawda, ale w KDE a juz w Gnome - nie?

Anonimowy pisze...

Autor pisze, że VB jest lepszy bo 1) napisany w Qt, 2) szybszy. Odpalanie danego programu w środowisku KDE albo Gnome (albo pod gołym X11) nie ma wpływu na wydajność.

Anonimowy pisze...

Jestem poczatkujacym uzytkownikiem Linuksa, z aspiracjami poznania go glebiej m.in. przez pisanie aplikacji. Czy autor moglby zaproponowac mi dobry artykul porownujacy rozne biblioteki?

Anonimowy pisze...

W czasie moich badań otrzymałem całkowicie inne wyniki. Więcej tutaj:
http://dap.polanski.biz/notatka/virtualbox-wolniejszy-od-vmware_45

borizm pisze...

QT vs GTK - a co ma piernik do wiatraka ? W końcu to tylko różne biblioteki widgetów, z których zbudowane jest jedynie okno konfiguracji VB, a reszta-esencja najprawdopodobniej zrobiona jest w czymś bardziej odpowiednim niż QT.

QT bazuje na dość ładnie upożądkowanym kompletnym zbiorze klas narzedziowych wszelkiej maści [nie potrzebny jest oddzielny STL, biblioteki do XML'a, socketów, encodingu, itd.] i widgetów języka C++. Niestety exportowanie niewirtualnych klas C++ z bibliotek dynamicznych to pięta achillesowa QT. KDE bazuje na QT.

GTK prawie nie znam, ale wdaje się, że to wyłącznie implementacja widgetów zaimplementowana w C jako zbiór funkcji, uchwytów i struktur [podobnym do Objective-C]. Z mojego doświadczenia takie API jest ze 100 razy bardziej stabilne [w sensie zmian] niż zbiór klas C++, ale trudniej tego użyć. GIMP i GNOME bazuje na GTK.

Anonimowy pisze...

Tak dla potomnych czas kompilacji jadra 2.6.26 pod Debiana Lenny w maszynach wirtualnych hostowanych na Windows Server 2005 R2 (nic innego w czasie kompilacji nie lecialo - system na 50% - wszystkie systemy tylko jeden rdzen zajmowaly):
HH:MM:SS
VmWare Player 2.5:
49:21
Virtualpc 2007:
52:23
Vbox 2.1.2:
01:09:10
Jak widać VmWare najszybszy. Vbox najwolniejszy o 40% od VmWare.