-
Data: 2017-08-26 19:32:20
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: Adam M <a...@m...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Friday, August 25, 2017 at 4:52:15 PM UTC-4, slawek wrote:
> On Fri, 25 Aug 2017 11:57:45 -0700 (PDT), Adam M
> > On Friday, August 25, 2017 at 2:04:20 PM UTC-4, slawek wrote:
> > > On Fri, 25 Aug 2017 07:04:07 -0700 (PDT), Adam M
> > > Amdahl jest przereklamowany.
>
> > To jest bardzo mocne stwierdzenie.
>
> Wiem.
>
> > Czy mozna poprosic o dokladniejsze wyjasnienie
> > co tez kolega mial na mysli
>
> Wyjaśnię to dwa razy: raz na chłopski rozum, raz na przykładzie
> pewnego programu.
>
> Wyobraź sobie że jesteś gospodarzem. Masz jakieś 20 morgów i 4
> parobków. Prawo Ahmadla i zdrowy rozsądek podpowiadają że 4000
> parobków nie zapewni 1000 krotnego wzrostu tempa żniw. True.
>
> A co byłoby, gdybyś miał nie 20 morgów, ale 20 tysięcy morgów? Nadal
> "zrównoleglenie" prac przez zatrudnienie armii tysięcy parobków nie
> miałoby sensu?
>
> Innymi słowy: gdyby kurczowo trzymać się prawa Ahmadla to nie
> istniałaby takie firmy jak MS, Intel, Google, Samsung itd. - każda
> zatrudnia olbrzymie ilości ludzi, a przecież z prawa Ahmadla wynika
> że to niepotrzebne.
>
> A teraz drugi przykład. Program czyta liczbę 64 bitową, wykonuje
> obliczenia, wypisuje wynik jako ułamek dziesiętny. Czytania i
> wpisywania nie da się zrównoleglić. Obliczenie każdej cyfry wyniku
> jest całkowicie niezależne. Program oblicza wynik z dokładnością do 4
> cyfr po przecinku.
>
> Zgodnie z prawem Ahmadla nie ma sensu używać zbyt wielu procesorów.
> To oczywiste.
>
> Ale jeżeli zamiast 4 cyfr będziesz chciał mieć wynik z 40 cyframi
> (albo z 40 tysiącami cyfr), to prawo Ahmadla nie podważa sensowności
> zastosowania odpowiednio większej liczby procesorów.
>
> Czyli prawo Ahmadla nie jest do stosowania w ciemno, bez sprawdzania
> założeń przy jakich je sformułowano. Przecież nie używasz twierdzenia
> Pitagorasa do obliczania objętości kuli.
>
> Podobna sytuacja była ze słynnym "640 kilobajtów wystarczy każdemu".
> To była prawda... Ale tylko przy założeniu że PC będzie służył tylko
> do tego co robiono na Spectrum itp. A to założenie okazało się
> fałszywe.
To bardzo ładne stwierdzenia - niestety nie do końca prawdziwe:
- po pierwsze kolega myli problem szczegółowy z problemami ogólnym biorac przyklad
kolegi z morgami - tak to jest prawda ze do 20tysiecy potrzeba znacznie wiecej
parobkow - ale problem tych 20morgow dalej jest tak samo trudny - miałem niestety
doczyniania wielokrotnie z takimi programistami/projektantami systmow - z punktu
wiedzy byli nie do pobicia - znali wiele języków perfekcyjnie, znali algorytmy, cala
teoria w jednym palcu - jednym slowem tytan wiedzy - gdy przyszlo do rozwiazania
problemu to padali jak muchy bo nie potrafili sie zdecydowac jak zabrac sie za
problem (widzieli drzewa ale nie las)
- co do ilosci procesorow - niestety jest bardzo wiele problemow ktore sa niestety
typowo jedno-watkowe - w tym przypadku zastosowanie nawet miliona procesorow nic nie
pomoze dopuki toria algorytmow nie znadzie lepszego algorytmu - ktory da sie
zrownoleglic.
Nie jestem fundamentalista w dziedzinie programowania - ale slepa wiara ze da sie
oderwac programowanie od sprzetu, ze mozna poprawnie programowac bez zrozumienia jak
sprzet na ktorym program bedzie sie wykonywal dziala prowadzi do bardzo poprawnie i
elegancko napisanych i bardzo nieefektywnie dzialajacych programow. I nie mam tu na
mysli 100 linikowego programu pokazujacego wyzszosc np Erlang czy Rust nad C++ ale
zlozonego systemu zaierajacego setk tysiecy lini kodu. Np. eie zycze napisania w
Pytonie czegos wiekszego jak 10-15tys lini kodu:
a) jest to zadanie dla masochisty
b) wiekszosc czasu zostanie spedzona na wyszukiwani bledow spowodowanych zlymi
nazwami zmiennych lub nieporawnymi konwersjami pomiedzy typami (ktore rzekomo w
Pytnie nie powinny stanowic problemu).
c) przez litosc nie wspomne tu nawet o wielowatkowosci w Pytonie
Następne wpisy z tego wątku
- 26.08.17 22:29 M.M.
- 27.08.17 08:07 AK
- 27.08.17 10:18 slawek
- 27.08.17 10:53 fir
- 27.08.17 12:21 AK
- 27.08.17 13:47 fir
- 27.08.17 13:53 M.M.
- 27.08.17 13:56 fir
- 27.08.17 14:56 fir
- 27.08.17 22:20 g...@g...com
- 28.08.17 16:29 Adam M
- 28.08.17 17:29 M.M.
- 28.08.17 17:49 Adam M
- 28.08.17 18:39 M.M.
- 29.08.17 15:26 g...@g...com
Najnowsze wątki z tej grupy
- 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
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-17 poznaj siłe swoich pieniędzy
- 2025-05-17 Warszawa => Senior IT Recruitment Consultant <=
- 2025-05-17 Warszawa => DevOps Engineer <=
- 2025-05-17 Warszawa => Junior Account Manager <=
- 2025-05-17 Warszawa => Senior Programmer C <=
- 2025-05-17 Polska => Senior Key Account Manager <=
- 2025-05-17 Migracje i przestępczość
- 2025-05-16 czy Seba naprawdę wróci do macierzy?
- 2025-05-15 coś pustawo u mechaników
- 2025-05-16 Warszawa => IT Data Analyst (obszar Power BI) <=
- 2025-05-16 Warszawa => Senior Backend Developer <=
- 2025-05-16 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-05-16 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-16 Warszawa => Team Lead Data Engineer (Snowflake) <=
- 2025-05-16 Poznań => Key Account Manager (ERP) <=