-
X-Received: by 10.140.33.229 with SMTP id j92mr27896qgj.7.1418908347814; Thu, 18 Dec
2014 05:12:27 -0800 (PST)
X-Received: by 10.140.33.229 with SMTP id j92mr27896qgj.7.1418908347814; Thu, 18 Dec
2014 05:12:27 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
i13no203710qae.0!news-out.google.com!r1ni69qat.1!nntp.google.com!s7no8859422qap
.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 18 Dec 2014 05:12:27 -0800 (PST)
In-Reply-To: <m6s9q0$btr$1@node2.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.71.15.176;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 89.71.15.176
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>
<m6s9q0$btr$1@node2.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f...@g...com>
Subject: Re: Szukam benchmarków
From: g...@g...com
Injection-Date: Thu, 18 Dec 2014 13:12:27 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:207235
[ ukryj nagłówki ]W dniu środa, 17 grudnia 2014 17:08:33 UTC+1 użytkownik bartekltg napisał:
> > 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.
Tzn oczywiscie, jezeli zamiast liczyc wynik, dokonujemy interpolacji,
to tego rodzaju optymalizacja wydaje sie niedopuszczalna, chyba ze
programista dopusci ja explicite
> > 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.
Kompilator moze wiedziec, jaka funkcje realizuje Twoja procedura,
i jezeli zna wydajniejsza procedure realizujaca te sama funkcje,
to moze ja zastapic
> To, że potrzebuję akurat stabilnego sortowania będzie w stanie wyłapać?
Jezeli Twoj algorytm sortuje stabilnie, to oczywiscie -- zeby procedura
wygenerowana przez kompilator realizowala te sama funkcje -- algorytm
wynikowy musialby rowniez sortowac stabilnie
> 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).
Oczywiscie, zdarzaja sie przypadki graniczne, dla ktorych
wydajnosc kodu zoptymalizowanego przez kompilator jest gorsza,
niz wydajnosci kodu niezoptymalizowanego
> 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.
Dla kompilatora nie ma roznicy pomiedzy kodem a intencja
piszacego. (Oczywiscie z tego wzgledu jest lepiej, jezeli
jezyk programowania umozliwia programiscie dokladne wyrazanie
swoich intencji)
> > 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ą? ;-)
To oczywiscie zalezy od sytuacji, ale czesto do rozwiazywania
NP-trudnych problemow istnieja dobre heurystyki dzialajace
wydajnie na typowych przypadkach
> >>> 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.
Wyglada na to, ze wyinterpretowales z wypowiedzi firra duzo wiecej
niz ja :]
Ja nie wiem, czy on dokonywal jakichs interpolacji na sinusach. Byc
moze oryginalny algorytm byl napisany w taki sposob, ze sinusy byly
brane tylko z pewnego dyskretnego rownomiernie rozlozonego podzbioru
odcinka [0, 2pi) i bystry kompilator moglby teoretycznie to zauwazyc
i stablicowac wartosci sinusa?
Dalej firr rzeczywiscie pisal cos o interpolacjach -- i zgodze sie,
ze tego rodzaju optymalizacja jest juz dla semantyki programu inwazyjna,
ale z Twojej odpowiedzi wynikalo, ze zastapienie wywolan funkcji
stablicowanymi wartosciami stanowi zmiane algorytmu. Oczywiscie mozna
dzielic wlos na czworo i dowodzic, ze tak jest, ale moim zdaniem jest
to jedna z prostszych nieinwazyjnych optymalizacj, jakie kompilator
moglby przeprowadzac.
Następne wpisy z tego wątku
- 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
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 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ą."
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML