eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNowoczesne procesory - jak to z nimi jest?Re: Nowoczesne procesory - jak to z nimi jest?
  • Data: 2013-03-25 16:21:02
    Temat: Re: Nowoczesne procesory - jak to z nimi jest?
    Od: Edek Pienkowski <e...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia Wed, 20 Mar 2013 16:10:44 -0700, M.M. wyszeptal:

    > Prosty algorytm zwyczajnie nie może optymalizować. Musiałby dla wszystkich
    > możliwych danych, sprawdzić wszystkie programy, wybrać te które dają poprawne
    > wyniki, a z tych wybrać ten, który działa najszybciej. Dlatego im więcej
    > konkretnych przykładów oprogramują twórcy kompilatorów, tym kompilator
    > lepiej optymalizuje. Oprogramowanie "im więcej" zajmuje dużo czasu, dlatego
    > dobry kompilator na dany procesor może wyjść jedynie z dużym opóźnieniem.
    > Duże opóźnienie oznacza że na rynku będzie już inny procesor i nie warto
    > pisać wyśrubowanego kompilatora, bo się przedawni zanim zostanie ukończony.

    Kompilatory są śrubowane nie za pomocą generowania nowych rozszerzonych
    instrukcji, przede wszystkim są to ogólnie używane metody działające
    podobnie na wszystkich cpu i do tego część z nich dostosowuje generowany
    kod do jakiegoś modelu konkretnego cpu. Zawsze model jest mega uproszczony.
    Tak naprawdę żeby kompilator mógł wygenerować optymalny kod w takim
    sensie jak mówisz musiałby to robić na docelowym sprzęcie, który informuje
    odpowiedni kompilator o swoich cechach albo najlepiej daje kompilatorowi
    cały projekt elektroniki w jakimś formacie... ciężko to sobie wyobrazić.

    Niemniej procesory informujące kompilator (jit) o własnej strukturze
    istnieją jako prototypy, zdecydowanie nie jest to dzisiejszy rynek PC.

    > Podejrzewam, że jakby rozwój procesorów nagle zamarł i na każdym komputerze
    > byłby ten sam procesor przez następne 10 lat, to za 2-3 lata ktoś by napisał
    > kompilator generujący 2-3 razy szybszy kod. W czasach gdy się interesowałem
    > tą tematyką sprawy właśnie tak się miały. Gdy wyszedł dobry kompilator na
    > procesory pentium, to zwykle generował kod 3 razy szybszy niż poprzednie
    > kompilatory. Podejrzewam że dziś jest podobnie, jakby wyszedł dobry kompilator
    > na dany procesor, to by też była taka różnica.

    Kiedys być może tak było, dzisiaj gdybyś się chciał udzielać w rozwijaniu
    kompilatora miałbyś do czynienia z czymś co przypomina mistrzowską partię
    szachów - choćbyś się uparł bardzo trudno jest znaleźć słabość o którą
    można się zahaczyć żeby w krótkim czasie coś poprawić.

    I wciąż twierdzę, że nigdy na Pentium tak nie było - to jest twierdzenie
    oparte o skrajne przykłady małych fragmentów kodu.

    --
    Edek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: