-
Data: 2012-02-21 12:08:06
Temat: Re: procedura tworzenia programów
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Feb 20, 4:32 pm, bartekltg <b...@g...com> wrote:
> W dniu 2012-02-20 17:09, Andrzej Jarzabek pisze:
>
> >> Programiści akurat doskonale wiedzą, że zysk ze zrównoleglenia
> >> rzadko jest liniowy;-)
> > Jest szafa, kanapa, duży materac, trzeba wnieść po schodach na trzecie
> > piętro. Dwóm osobom wniesienie każdej z nich zajmie pięć minut, jednej
> > osobie zajmie po kilka godzin a pewnie jeszcze uszkodzi.
>
> I o to chodzi. 'Roboczogodzina' nie zawsze jest dobrym
> przelicznikiem.
Zgoda, jednak to, czego programiści mogą nie wiedzieć, to to, że w
innych kwestiach niż zrównoleglanie obliczeń na wielu procesorach,
zysk ze zrównoleglenia może być większy niż liniowy. Jeśli jest
większy niż liniowy, to to, co pisałem, jest również prawdą.
Ja nie wiem, jak w tym przypadku jest. Domyślam się, że raz jest tak,
raz jest inaczej, a w dodatku trudno to dokładnie określić, bo na
ostateczny długoterminowy zysk wpływają różne rzeczy.
> > Czy twoje programistyczne doświadczenie mówi ci, że to kompletnie
> > nierealistyczne, bo robienie czegoś wspólnie przez kilka osób działa
> > zawsze tak samo, jak zrównoleglanie programu na kilka procesorów?
>
> Cześć zadań da się idealnie zrównoleglić. Cześć nie.
Ale ty znowu myślisz o zrównoleglaniu obliczeń, gdzie
"idealnie"="liniowo". W życiu robienie czegoś wspólnie z innymi ludźmi
to niekoniecznie jest "zrównoleglenie" w takim sensie.
> Trzeba sie konsultować (to akurat czasem możę przyszpieszyć:)
> Napiszą program i teraz sie kompiluje a potem testuje/liczy.
> I tu już para nie pomogła.
Wiesz, jeśli każdy z nich z osobna będzie robił coś, co będzie
wymagało długiej kompilacji i/lub obliczeń, to i tak każdy z nich z
osobna będzie miał taki moment, kiedy ich kawałek się kompiluje czy
też liczy.
Oczywiście w takiej sytuacji para może nadal zazwyczaj coś robić przy
programie, np. zrobić sobie sesję projektowania, refaktoryzować kod,
albo rozpocząć analizę następnego kawałka roboty.
> Chciałem tylko zauważyć, że 'dwa razy więcej pracowników'
> nie musi oznaczać 'dwa razy szybciej' jak sugerowałeś.
Ale właśnie o to chodzi, że nie sugerowałem, że musi. Chodziło mi o
to, że cały wywód A.L. że albo a) dwa razy drożej, albo b) za połowę
pensji opierał się na nieuzasadnionym założeniu, że 'dwa razy więcej
pracowników' oznacza 'tak samo szybko'. Jest to tak samo nieuzasanione
co 'dwa razy szybciej', ale póki nie mamy uzasadnienia w którąkolwiek
stronę, możemy tylko powiedzieć, że nie wiemy, czy dwóch praccowników
zrobi to samo zadanie tak samo szybko czy więcej lub mniej niż dwa
razy szybciej.
Moje doświadczenie z pracą solo i bardzo sporadyczną pracą parami
wskazuje, że przypieszenie może być znaczne, nawet więcej niż
dwukrotne, w szczególności jeśli się wlicza czas nie tylko
bezpośrednio samego kodowania danego kawałka kodu, ale też korzyści
czasowe z mniejszej ilości błędów, lepszego projektu i szybszego
transferu wiedzy.
> > A przykład ze statkami? Czemu nie? Można np. uzupełnić brakujące
> > informacje.
>
> A choćby czekanie na informacje zwrotną. Od klijenta,
> od komputera (wynik programu, wynik testów).
> Testem może być 'doba podłączenia do sieci' i wtedy
> większa liczba komputerów nie pomaga.
>
> >> Jeden statek wiezie chiński badziew do europy 3 miesiące.
> > Chińskiego badziewia jest tysiąc ton, a statek może na raz zabrać 200.
> >> Ile zajmie transport badziewia 5 statkami.
>
> Ale tu już inne zadanie;)
To jest to samo zadanie, tylko uzupełnione o brakującą informację. :)
Oczywiście domyślam się, że w zadaniu chodziło ci o to, że statek
bierze całe badziewie na jeden raz i w związku z tym w te 3 miesiące
wykonuje tylko jedną podróż, ale jeśli dopiszesz to do zadania, to
powstaje pytanie, dlaczego akuat twoje, a nie moje warunki mają być
adekwatną analogią do pracy parami?
Ja oczywiście uważam, że w ogóle to zadanie nie jest adekwatne. W
ogólności jeśli postawisz pytanie tak: "jeden X wykonuje Y w p godzin,
w ile godzin wykona Y n X-ów?" to odpowiedź brzmi "zależy od X, Y, n i
p". Dla statków może być tak, dla sprzątaczek może być inaczej, dla
wnoszenia meblli po schodach może być jeszcze inaczej, a dla
programistów może to nawet zależeć od tego jaki program piszą, jakie
mają chechy osobowości i od pierdyliona innych czynników. Ludzie to
nie procesory, nie działają do końca racjonalnie i o ich zachowaniu
decyduje tzw. psychologia.
> Serio, meliska, bo sie nerwowo na grupie robi.
E tam nerwowo.
Następne wpisy z tego wątku
- 21.02.12 12:59 Wojciech Jaczewski
- 21.02.12 13:45 Andrzej Jarzabek
- 21.02.12 16:43 R.e.m.e.K
- 21.02.12 17:28 Wojciech Jaczewski
- 21.02.12 21:50 Andrzej Jarzabek
- 21.02.12 22:21 Wojciech Jaczewski
- 21.02.12 23:23 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=