-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Szukam benchmarków
Date: Wed, 17 Dec 2014 17:08:31 +0100
Organization: ATMAN - ATM S.A.
Lines: 91
Message-ID: <m6s9q0$btr$1@node2.news.atman.pl>
References: <lq5a1e$7rk$1@node1.news.atman.pl>
<9...@g...com>
<e...@g...com>
<lqadk9$kg7$1@node1.news.atman.pl>
<s...@4...com>
<6...@g...com>
<lqalcn$65n$1@node2.news.atman.pl>
<3...@g...com>
<4...@g...com>
<f...@g...com>
<m6qo5d$fqd$1@node1.news.atman.pl>
<9...@g...com>
NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1418832512 12219 89.73.81.145 (17 Dec 2014 16:08:32 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 17 Dec 2014 16:08:32 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101
Thunderbird/31.2.0
In-Reply-To: <9...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:207228
[ ukryj nagłówki ]On 17.12.2014 14:24, g...@g...com wrote:
> W dniu środa, 17 grudnia 2014 03:01:18 UTC+1 użytkownik bartekltg napisał:
>>> inicjalna wersja trwala jakies 100 czy nawet 150 ms ms a to glownie
>>> dziki temu ze czas zarly dwa sinusy i pierwiastek na piksel jeszcze
>>> z jakims dzieleniem i rzutowaniami (jak uzyjesz sinusa w kodzie to
>>> program jest wydajnosciowym trupem tak bardzo sinus jest wolny) po
>>> stablicowaniu sinusów i normalizacji i jeszcze ze dwu dniach
>>> glowienia sie nad petla czas spadl do 20 i w koncu do 13 milisekund
>>> 9prawie 10 razy szybciej niz normalny kod dla gcc) ciegle uwazalem ze
>>> to za duzo i zaczalem przepisywac kod na kafelki gdzie mogelem zrobic
>>> na kafelkach pewna interpolacje i pewne tam drobne rozroznienia, to
>>> bylo troche trudne ale spowodowalo ze cza sspadl do 6-10 ms, 910-20
>>> razy sszybciej "niz gcc",
>>
>> Zaraz, wkurzasz się, zę kompilator nie zmienił ci algoruytmu na inny?
>> Znów odpływasz. Kompilator nie może zmienić bublesorta na qsorta.
>> Zmieniłeś algorytm na szybszy, a mniej dokłądny, to masz
>> przyszpieszenie, nie ma to nic wspolnego z jakością generowanego kodu.
>
> Jezeli dana procedura (taka jak np. liczenie sinusa) gwarantuje,
> ze dla tego samego argumentu zawsze uzyskamy ten sam wynik, to nie
> ma zadnego powodu, dla ktorego kompilator nie mialby sam tablicowac
> wynikow. Nazywanie tego rodzaju optymalizacji "zmiana algorytmu"
> wydaje sie jednak dosc pretensjonalne
Żeby zmienił sposób liczenia algorytmu - nie ma problemu.
Tak robi. Mi wszytko jedno, czy sin będzie policzony
koprocesorem czy szeregiem pędzonym SSE.
Natomiast zamiana na stablicowanie (nie w tym przypadku, tablica
o gęstości precyzyjnej jak sin[x] z interpolacją
liniową czy nawet kwadratową jest niepraktyczni duża ) powinna być
świadomą decyzją programisty.
Lepszym przykładem byłby dwumian newtona wielokrotnie liczony
dla małych parametrów. Czasem trzymam sobie go w pamięci,
ale czasem cache możę być znacznie przydatniejsze gdzie indziej,
i te kilka pętli jest lepszym wyjściem.
> Poza tym, jezeli nie mialoby to wplywu na obserwowalne zachowanie programu,
> to nie widze powodu, dla ktorego kompilator nie mialby w okreslonych
> okolicznosciach zamieniac bubblesorta na qsorta (choc w tym kontekscie
> oczywiscie stwierdzenie "zamiana algorytmu" wydaje sie jak najbardziej
> na miejscu).
A skąd kompilator ma wiedzieć, co mam na myśli.
To, że potrzebuję akurat stabilnego sortowania będzie w stanie wyłapać?
Pamiętaj, że kompilator na zanalizować kod, a nie widzi intencje przez
użycie sort czy stable_sort.
A może zawsze ten algorytm sortuje jedynie malutkie tablice.
Albo wstępnie posortowane (dla insertsorta).
Kompilator musiałby zrozumieć nie tylko kod, ale i intencje
piszącego, oraz to, czy jest baranem, czy taki a nie inny
sposób przetwarzania danych wynika z jakiejś głębszej analizy.
> Istnieja ciekawe metody dotyczace optymalizacji algorytmow,
> opisane np. tutaj:
> http://repository.readscheme.org/ftp/papers/topps/D-
170.ps.gz
Bardzo dokładnie się nie wczytałem, ale czy rozwiązywanie
sporych NP zupełnych problemów grafowych podczas kompilacji
nie jest chwilowo przesadą? ;-)
>>> jeszcze kombinowalem z rugowaniem castow i
>>
>> To samo. Każesz kompialtorowi liczyć danymi zmiennymi, musi nimi
>> liczyć.
>
> Nie bardzo rozumiem te uwage, ale znow: jezeli kompilator moze w jakims
> kontekscie dokonac czesciowej ewaluacji, to nie ma istotnego powodu, dla
> ktorego nie mialby tego robic
Masz dwa programy. Jeden liczy coś intami, drugi na float.
Wyniki _NIE_ bądą identyczne, poza przypadkami, gdzie obłożymi
warunkami praktycznie wszystko.
Oczywiście, że liczenie pewnyych rzeczy na raz, najlepiej w czasie
kompilacji, po wyciągnieciu prez pętle jest przydatne. Nawet
powszechnie mowimy kompilatorowi, by się IEEE za bardzo przy tym
nie przejmował.
Ale to nie jest to, o czym była tu mowa.
pzdr
bartekltg
Następne wpisy z tego wątku
- 17.12.14 17:15 bartekltg
- 17.12.14 17:21 M.M.
- 17.12.14 17:25 M.M.
- 17.12.14 17:39 firr
- 17.12.14 17:55 M.M.
- 17.12.14 18:47 firr
- 18.12.14 14:12 g...@g...com
- 18.12.14 14:32 firr
- 18.12.14 19:34 Wojciech Muła
- 18.12.14 19:54 M.M.
- 25.12.14 10:08 firr
- 25.12.14 10:26 firr
- 25.12.14 12:41 M.M.
- 25.12.14 13:24 firr
- 25.12.14 14:15 M.M.
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=
- 2025-07-18 Lublin => Programista Delphi <=
- 2025-07-17 Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 2025-07-17 Andrzej Duda ułaskawił Roberta Bąkiewicza od zarzutu zapchnięcia ze schodów aktywistki Babci Kasi