Utrata wydajności 32-bitowego systemu operacyjnego na 64-bitowym procesorze

3

Niedawno ponownie zainstalowałem swój notebook i mój przyjaciel śmiał się ze mnie, ponieważ nie zainstalowałem 64-bitowej wersji visty zamiast 32-bitowej.

Po czym zastanawiałem się, czy była duża różnica w wydajności w 64 systemie operacyjnym.

(Zawsze byłem sceptycznie nastawiony do wersji 64-bitowej, ponieważ ludzie mówili mi, że istnieje wiele aplikacji, które już nie działały od czasu zainstalowania wersji 64-bitowej).

Więc kto może mi to wyjaśnić? :)

quack quixote
źródło
3
Potrzebujesz przyjaciół z większym poczuciem humoru.
skaffman

Odpowiedzi:

1

Jeśli nie wykonujesz intensywnych obliczeniowo zadań, nie zauważysz różnicy między 32-bitową a 64-bitową wersją twojego systemu operacyjnego. Korzystam z systemu Windows 7 Home Premium w wersji 64-bitowej i nie miałem jeszcze problemu z uruchomieniem. System Windows wykonuje świetną robotę, uruchamiając oprogramowanie 32-bitowe.

Kilka lat temu, kiedy pojawił się 64-bitowy system Windows XP, było wiele problemów z nieprawidłowym działaniem oprogramowania / sterowników. Od tego czasu poczyniono jednak znaczne postępy.

rodey
źródło
1

Z czystej wydajności odpowiedź będzie zależeć od uruchomionych aplikacji. Instrukcje 64-bitowe są bardziej wydajne, ale wskaźniki pamięci są większe, co oznacza, że ​​mniej kodu zmieści się w pamięci podręcznej. Średnio oba efekty się znoszą, ale zdarzają się przypadki, w których jeden lub drugi będzie dominować.

Ponieważ więcej osób nadal korzysta z wersji 32-bitowej, sterowniki dla wersji 32-bitowej będą łatwiejsze do znalezienia i dokładniejszego debugowania.

Mark Ransom
źródło
1

32-bitowe systemy operacyjne, oprócz tego, że nie są w stanie efektywnie wykorzystać więcej niż 4 GB pamięci RAM, nie mogą również wydajnie mmap()plików większych niż 4 GB. Ta ostatnia część pojawia się częściej niż myślisz.

Miś
źródło
Czy ktoś naprawdę musi jednocześnie zmapować> 4 GB? Każdy duży plik może być odwzorowany przez części w 32-bitowym programie za pomocą wywołania systemowego mmap64 (3). Tak więc naprawdę nie ma potrzeby dwukrotnego rozszerzania wszystkich wskaźników do kształtowania bardzo dużych plików. System operacyjny może być 64-bitowy podczas uruchamiania wielu programów 32-bitowych.
osgx
@osgs Aplikacje naukowe, niektórzy tłumacze językowi i wszyscy inni, którzy mogliby skorzystać z nadmiernej pamięci.
minmaxavg
1

Ważny:

Wiem, że to pytanie jest stare, ale odpowiedź wymaga aktualizacji. Krótka odpowiedź to raczej AMD64 (x86_64 lub 64bit) .

Dłuższa odpowiedź (poprawiająca niektóre nieporozumienia w innych odpowiedziach): Wszyscy tutaj wspominali o zaletach systemów 62-bitowych, ponieważ są w stanie użyć więcej niż 4 GB pamięci RAM. Ponieważ PAE ( https://en.wikipedia.org/wiki/PAE ) został wprowadzony do większości jąder, system 32-bitowy może dobrze poradzić sobie z większą ilością pamięci RAM. Radzę też każdemu, kto natknie się na to pytanie, że 32bit x86 również nie jest „utrzymywany” w dzisiejszych czasach (ala 2015+). Istnieje wiele programów napisanych tylko dla AMD64. Myślę, że Ubuntu upuścił 32-bitowy ostatni LTS, a Debian jest jednym z niewielu, które nadal go obsługuje (ponieważ Debian obsługuje nawet martwe / umierające platformy - które to 32-bitowe x86). Ponadto, należy wziąć pod uwagę, że prawie każdy system operacyjny jest wielodostępny (oba lib i lib32), więc oprogramowanie 32-bitowe działa dobrze bez znaczącego spadku wydajności. Oprogramowanie 64-bitowe nie możedziała na systemie 32- bitowym , ale oprogramowanie 32-bitowe może działać na systemie 64-bitowym (pod warunkiem, że programiści nie są podobni do zespołu PCSX2, którzy oczekują, że opiekunowie pakietów utworzą własny 64-bitowy widelec lub zniosą, że jest to tylko wersja 32-bitowa / rant). W każdym razie, na lepsze lub gorsze, jest to rozważanie.

The Take Home: sytuacja jest teraz odwrotna. 64 -bitowy x86 jest teraz de facto i 32-bitowy stanie się przestarzały. Podczas gdy PAE pozwala 32-bitowym maszynom na użycie więcej niż 4 GB pamięci RAM, zaleca się stosowanie systemu operacyjnego AMD64 (x86_64, 64 -bitowego ), ponieważ Twoje 32-bitowe pliki będą nadal działać dobrze, ale 64-bitowe.

JustAnAnonUser_1324987
źródło
1

Zgadzam się z JustAnAnonUser_13249, że odpowiedź jest stara, jednak żadna z odpowiedzi nie obejmuje jej wystarczająco.

Zgodnie z tytułem performance loss of a 32bit OS on a 64bit processor:

  • Zakładając konfigurację systemu Windows (zupełnie inne odpowiedzi dla innych systemów operacyjnych)
  • I konfiguracja AMD 64. (właśnie tego używa Intel. Intel 64bit to Itanium)


Po pierwsze, vista 32-bitowy będzie działał równie szybko na 32-bitowym procesorze, jak na 64-bitowym procesorze (w trybie 32-bitowym). Tutaj nie ma utraty wydajności.


Twój przyjaciel prawdopodobnie próbował powiedzieć: „Dlaczego nie użyć Windows Vista 64 bity i skorzystać z 64-bitowego procesora w swoim laptopie?”.

W którym to przypadku:

  1. Sterowniki w 2009 roku były prawdopodobnie mniej stabilne na platformie Windows. Tak już nie jest. (właściwie podejrzewam, że nie jest odwrotnie)
  2. Stopień pamięci systemu operacyjnego i programów staje się większy. Zmniejszają się współczynniki trafień w pamięci podręcznej. To sprawia, że wolniej działa 64 bity.
  3. AMD 64 ma wiele ulepszeń w stosunku do starej 32-bitowej konfiguracji. Np. Podwoić liczbę rejestrów. To sprawia, że ​​jest szybszy.

W praktyce te dwa ostatnie punkty się znoszą.


Istnieją jednak powody, by NIE używać już starożytnego 32-bitowego systemu operacyjnego, przykłady:

  1. Przestrzeń adresowa jest ograniczona do 4GiB. To 4GiB minus zarezerwowana przestrzeń adresowa dla kart PCI. (tak więc system 4GiB RAM z kartą graficzną 1 GB może mieć mniej niż 3GiB.

  2. Programy Windows są ograniczone do 2GiB max. Za pomocą PEA możesz zająć więcej pamięci, ale nadal jesteś ograniczony do 2GiB na program. (Przeczytaj: Możesz otworzyć wiele programów 2GiB. Np. Trzy programy 2GiB. Ale nie jeden 5GiB)

  3. Sterowniki: prawie nikt już nie używa systemów 32-bitowych. Może być trudno znaleźć 32-bitowy sterownik zamiast normalnego (który jest zupełnie inny niż w 2009 roku, kiedy pytanie zostało opublikowane).

(Zawsze byłem sceptycznie nastawiony do wersji 64-bitowej, ponieważ ludzie mówili mi, że istnieje wiele aplikacji, które już nie działały od czasu zainstalowania wersji 64-bitowej).

Błąd użytkownika 64-bitowa przeglądarka, 64-bitowa wtyczka, 64-bitowa Java itp. Wszystko działa dobrze.

Próba korzystania z 64-bitowej przeglądarki i 32-bitowej javy lub odwrotnie, to świetna zabawa.

Więc kto może mi to wyjaśnić? :)

Podejrzewam, że nie będziesz już tego czytać, ale na wypadek, gdyby ktoś trafił na tę odpowiedź: Google tę stronę. Istnieją dziesiątki odmian tego pytania.

Hennes
źródło
0

jeśli nie musisz zajmować się pamięcią przekraczającą próg 4 GB, masz 32-bitowy system operacyjny.


źródło
tak jest :) Wydaje mi się, że tak naprawdę nie podjąłem złej decyzji o wyborze wersji 32-bitowej!
0

W przypadku notebooka, który ma prawdopodobnie mniej niż 4 GB pamięci, 64-bitowy system Windows byłby przesadny. Inteligentnym posunięciem jest uruchomienie 32-bitowego systemu Windows, co również zwiększa prawdopodobieństwo, że wszystkie sterowniki działają i że działa większość programów.

W szczególności na ea notebooku możesz faktycznie preferować 32-bitową zdolność systemu Windows do uruchamiania gier DOS.

I tak, 32-bitowy system Windows byłby szybszy niż 64-bitowy system Windows na większości komputerów przenośnych.

Andrew J. Brehm
źródło
0

Tak długo, jak masz obsługę sterowników, sugerowałbym również 64-bitowe okna. Możesz spróbować i sprawdzić, czy Twoje aplikacje działają inaczej. Ogólnie rzecz biorąc, z mojego doświadczenia wynika, że ​​64-bitowe okna wielozadaniowe są dużo lepsze. Przeprowadziłem migrację mojego znajomego, który jest wielkim graczem z 32 do 64 bitów, i był w stanie przejść od otwarcia 2 klientów WOW (z problemami z szybkością klatek) do 4 bez problemów. Inne uległy zmianie w moim biurze i nie miały istotnej różnicy w wydajności aplikacji biurowych.

Jim B.
źródło
-1

Twój przyjaciel jest kiepskim technikiem. O ile nie masz więcej niż 3 GB pamięci RAM, nie ma powodu, aby używać 64-bitowego, a twój procesor poradzi sobie również z 32-bitowym odpowiednikiem - nie ma zasady, że procesory 32-bitowe są lepsze w zadaniach 32-bitowych.

Jeśli masz więcej niż 4 GB pamięci RAM, zdecydowanie powinieneś być na 64-bitowym systemie operacyjnym, ponieważ 32-bitowy system operacyjny da ci tylko ~ 3,5 GB do zabawy. W przeciwnym razie śmiej się śmiać od razu, gdy ma do czynienia z nieznacznie zwiększonym zużyciem pamięci RAM z posiadania 64-bitowych wskaźników * zamiast 32-bitowych wskaźników, bez dodatkowej korzyści! (chyba że sam ma więcej niż 4 GB)

* Niewielki wzrost, oczywiście, ale potencjalnie PODWAJA użycie pamięci RAM! W rzeczywistości jest to ledwo zauważalne, ale tak naprawdę nie ma on do czynienia: P

Phoshi
źródło
Nadal zastanawiam się nad tym: mam 4 GB pamięci RAM i mówisz, że wersje 32-bitowe używają tylko do 3,5 GB ... Więc to oznacza, że ​​nie używam pół gigabajta pamięci, prawda? (Ale myślę też, że nie warto ponownie instalować całego systemu drugi raz za dodatkowe pół
1
Cóż, w zależności od innego zainstalowanego sprzętu. 32-bitowy system operacyjny może adresować tylko 4 GB pamięci, w tym pamięć RAM, pamięć GRAM karty graficznej, pamięć karty dźwiękowej i tak dalej. Nie warto ponownie formatować, ale warto o tym pamiętać.
Phoshi,