-
X-Received: by 10.49.95.231 with SMTP id dn7mr1457704qeb.39.1365999046528; Sun, 14
Apr 2013 21:10:46 -0700 (PDT)
X-Received: by 10.49.95.231 with SMTP id dn7mr1457704qeb.39.1365999046528; Sun, 14
Apr 2013 21:10:46 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin.stu.neva.ru!feeder1.cambriumusenet.nl!feed.tweaknews.nl
!209.85.212.215.MISMATCH!yt3no69269513wib.0!news-out.google.com!p18ni54360wiv.0
!nntp.google.com!yt3no69269511wib.0!postnews.google.com!glegroupsg2000goo.googl
egroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 14 Apr 2013 21:10:46 -0700 (PDT)
In-Reply-To: <kkfd89$o9b$1@news.task.gda.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.109.56;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.36.109.56
References: <kkdqot$5rl$1@node2.news.atman.pl> <kkdtr5$9n9$1@node1.news.atman.pl>
<2...@g...com>
<kkec03$n4h$1@node2.news.atman.pl>
<a...@g...com>
<kkfd89$o9b$1@news.task.gda.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0...@g...com>
Subject: Re: Podpis cyfrowy większej ilości podmiotów
From: "M.M." <m...@g...com>
Injection-Date: Mon, 15 Apr 2013 04:10:46 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:202577
[ ukryj nagłówki ]W dniu poniedziałek, 15 kwietnia 2013 01:14:17 UTC+2 użytkownik Edek napisał:
Zaraz zaczniemy się "kłócić" o to gdzie leży granica pomiędzy optymalizacją
algorytmiczną a implementacyjną :)
> Właśnie nie, dobrze napisany w C++ kod będzie odporny na działanie
> czasu. Jedynie trzeba założyć jakiś margines fluktuacji.
Zgodzę się że będzie, ale dodam, że nie ma cudów. Dobrze napisany
kod w C++ nawet będzie coraz lepszy, bo kompilatory się wciąż
rozwijają, a kto wie, może twórcy procesorów zaczną procesory robić
tak, aby szybciej wykonywały taki kod, jaki kompilator jest w stanie
wygenerować. Ale właśnie nie ma cudów. Kompilator sam nie zorientuje się,
że w takich szachach mamy 64 pola na planszy i docelowy procesor też ma
64 bity w rejestrze. Kompilator nie zmieni sam szachownica[64], na kilka
masek z long long.
Teraz pytanie: czy zmiana struktury danych z szachownica[64], na
bierki[12] jest optymalizacją implementacyjną czy algorytmiczną?
Na pewno bierki[12] nie jest dobrze napisanym programem w C++, bo
jak gdzieś long long nie będzie 64-bitowy, to może nie działać.
> Dochodzi też margines opłacalności - programista często kosztuje
> więcej niż sprzęt (heh, powiedziałem co wiedziałem ;).
Właśnie dlatego że eksperymentowanie jest bardzo drogie i czasochłonne,
chciałbym wiedzieć od razu jaka implementacja okaże się najlepsza :)
> Poza HPC i paroma niszami nikomu nie zależy na +-10% jeżeli jest
> to kosztem funkcjonalności. Jeszcze jeden wyjątek: kod działający na
> milionach maszyn.
Myślę że w szachach dzięki dobrej implementacji uzyskuje się
przyspieszenie 2-4 razy a nie 10%. Test ataku na reprezentacji
szachownica[64] to iterowanie po polach i cztery warunki do
sprawdzania czy nie przekroczyliśmy zakresu, a na reprezentacji bitowej
to kilka operacji logicznych i kilka odczytów masek z tablic.
> To jest sztuka. Nie jest sztuką próbować do skutku aż się znajdzie
> optymalny przy tych a nie innych opcjach i wersji, tylko napisać tak,
> żeby trzymał się w najlepszych 10%.
Właśnie to jest pytanie czy idzie o te 10% czy o 200-400%. Weźmy
naiwne mnożenie macierzy i zoptymalizowane. Jakie to są różnice?
Coś mi się przypomina że 500% - 1000%.
Pozdrawiam
Następne wpisy z tego wątku
- 15.04.13 16:49 Edek
- 15.04.13 18:43 M.M.
- 15.04.13 21:40 firr kenobi
- 15.04.13 21:42 AK
- 15.04.13 23:23 Edek
- 16.04.13 08:39 AK
- 16.04.13 10:47 M.M.
- 16.04.13 12:49 bartekltg
- 16.04.13 15:01 Miroslaw Kwasniak
- 16.04.13 19:10 AK
- 17.04.13 00:36 Edek
- 17.04.13 09:48 M.M.
- 17.04.13 10:30 firr kenobi
- 17.04.13 11:21 M.M.
- 17.04.13 12:21 firr kenobi
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-02-15 Łódź => NodeJS Developer <=
- 2025-02-15 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-15 Warszawa => Developer .NET (mid) <=
- 2025-02-15 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-02-14 Zdalne załączanie grzałki bojlera elektrycznego
- 2025-02-14 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-14 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-02-14 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=