-
Data: 2013-03-28 12:11:48
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 Mon, 25 Mar 2013 16:30:27 +0100, wloochacz wyszeptal:
> W dniu 2013-03-25 16:03, Edek Pienkowski pisze:
>> Dnia Mon, 25 Mar 2013 14:17:01 +0100, wloochacz wyszeptal:
>> To *nie* jest odpowiedź na pytanie. Od dawna wiadomo, że kompilatory
>> w brzegowych przypadkach dają wolniejszy kod - dotyczy to *bardzo małych*
>> procedur operujących na *dużych danych*, czyli video, raid, szyfrowanie.
>> Takie opłaca się pisać ręcznie.
> Tak wiem - ale ręcznie, tzn. optymalnie (a przynajmniej lepiej niż
> kompilator ogólnego przeznaczenia), prawda?
> I tak, IMO, jest to podpowiedź na to pytanie - poniekąd.
> Mamy tu porównanie kodu generowanego przez kompilator z kodem
> zoptymalizowanym ręcznie.
To nie jest kod zoptymalizowany ręcznie, porównujesz jabłka do
czereśni. To jest kod pisany wiele razy, testowany, mierzony i
poprawiany wiele razy ręcznie. Znajdź kod pisany ręcznie raz,
tak jak kompilator kompiluje raz, i wtedy porównaj to co wyjdzie.
> A poniekąd dlatego, że nie wiemy dokładnie jak zrealizowano to zadanie
> przez "zeranoe", także ciężko cokolwiek porównywać w "twardych" śiśle
> mierzalnych testach...
> Ja sobie gdybam, że mocno zoptymalizowany kod pod konkretne zadanie (tu
> - kodowanie x264) jest tylko 3x szybszy od kompilatora ogólnego
> przeznaczania.
> I teraz jest pytanie - jest to *tylko* czy *aż* 3x szybszy kod?
Robi się *aż* takie rzeczy, jak wiele implementacji i przy starcie
mierzona jest wydajność wszystkich na sprzęcie i wybiera
najlepszą. BTW, to mi podsuwa pewien pomysł..
>> Gdyby kompilator miał je optymalizować porządnie, co najmniej trzeba
>> by przekazać kompilatorowi informację "poświęć na te 100 linijek 30%
>> czasu kompilacji poświęcanego na milion linii reszty kodu". Nie
>> ma czegoś takiego w językach programowania, więc kompilatory optymalizują
>> cały program i tu już są w granicach 10%. Niby jest PGO, ale jest
>> mało używane więc mało rozwijane, dodatkowo dochodzi detekcja sprzętu,
>> więc poważne PGO powinno mieć farmę testową różnych maszyn dla
>> sprawdzenia - nie widziałem nigdy takiej implementacji.
> Co nie znaczy, że nie istnieje...
Ale oznacza, że kompilator przetwarzając program nie wie ile i jakich
będzie danych, a piszący ręcznie wie. Dlatego jest inny rezultat.
--
Edek
Następne wpisy z tego wątku
- 28.03.13 12:14 Edek Pienkowski
- 28.03.13 12:26 M.M.
- 28.03.13 14:35 R.e.m.e.K
- 07.04.13 14:53 firr kenobi
- 07.04.13 23:52 M.M.
- 08.04.13 14:50 firr kenobi
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=