![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
ostatnio czytałem (przeglądałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) dokumentacje Intela i wyczytałem, że główna róznica pomiędzy 64 a 32 bitowymi procesorami to to, że te pierwsze mają większy zakres dostępu do pamięci (wirtualnej i fizycznej). Słyszałem to też drogą ploteczkową. I teraz stąd moje pytanie: czy jest to naprawdę jedyna różnica? Warto w takim razie kupować takie procesory (dla mnie i tak już za późno...), jeżeli nie mam zamiaru w ciągu najbliższych pięciu lat mieć więcej jak 4GB pamięci (tym bardziej, że Linux potrafi więcej obsługiwać nawet przy 32-bitowych maszynach, nie wiem jak reszta)? Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
No rzeczywiście u Was ten long double nie domaga. U mnie
Kod adam@localhost ~ $ gcc-config -c x86_64-pc-linux-gnu-4.1.2 Teraz wychodzę, jak wróce przygotuje jakieś testy na tego long double i zobaczymy jak to wygląda w prawdziwym życiu. Pozdrawiam No dobra, mam następujący kod: Kod #include <stdio.h> I za każdym razem difference = 0.000000000int main(void) { long double test; double factor = 13.0; unsigned int i, j; #define VALUES_LEN 4 long double values[] = {1.0, 100.0, 10000.0, 1000000.0}; for(j = 0; j < VALUES_LEN; j++) { test = values[j]; printf("before: %LF\n", test); for(i = 0; i < (unsigned int) 1<<31 /* ~2 milion */; i++) { test /= factor; test *= factor; } printf("after: %LF\n", test); printf("difference: %LF\n", values[j] - test); } return 0; } Ktoś mi wytłumaczy *czemu to działa*? Przetestujcie to też na jakimś 32 bitowym, może wtedy coś się wyjaśni.. A tak swoją drogą to co 64-bitowych linuxów to właśnie sam jestem taki okaz. Wszystko oprócz plugina do flasha mam 64-bitowe (a firefox działa z tym pluginem, bo jest napisany wrapper jakiś...). Wszystko compilowane z -march=nocona (czyli Core 2 Duo). Muszę przyznać, że śmiga nieźle, ale inna sprawa to są po prostu mocne procesory, także sam nie wiem czego to wina.. Btw. Wiecie, jak teraz się nazywa instrunction pointer register? RIP (sic!)! Mogli wybrać jakąś inną literkę do prefiksowania 64bitowych rejestrów (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 17:26 |