-
Data: 2017-08-20 13:51:35
Temat: Re: Automatic Reference Counting
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sunday, August 20, 2017 at 1:01:20 PM UTC+2, fir wrote:
> dlatego ze ktos kto tak dyskutuje kompletnie nie rozumie problemu
Niekoniecznie oznacza to, że ktoś kompletnie nie rozumie problemu.
Może to oznaczać, że ktoś w pośpiechu, sformułował ciekawy problem
właśnie przy pomocy takich słów.
Zawsze szukamy jakiś idealnych odnośników. Programista ręcznie
implementujący dany algorytm w języku assemblera jest odnośnikiem
do najlepszej implementacji, bo dobry programista jak ma bardzo
dużo czasu, to wykona najlepszą implementację. Potem do tej
najlepszej porównujemy możliwości obecnych kompilatorów.
Dla mnie to oznacza kolokwialne sformułowanie problemu, a nie
totalne niezrozumienie.
> [...]
> wiecej chyba nie che mi sie o tym gadac bo albo to rozumiesz albo
> nie (a ja powtarzajac w kolko to samo tylko tracilbym swoj czas
> czego wolalbym uniknac)
Generalnie zrozumiałem od początku. Problem jak zwykle siedzi w
szczegółach. Zobacz jak nieprecyzyjne jest określenie "przyspieszenie
CPU 100 razy". Co to jest CPU? Przyspieszamy tylko arytmetykę, czy
także odczyty z rejestrów (rejestry to zdecydowanie część CPU, ale
pamięć też), czy może także przyspieszamy cache L1, bo to chyba też
integralna część CPU? Przyspieszony 100 razy CPU wraz z rejestrami i
pamięcią cache, wykona dużo programów 30 razy szybciej.
Pytanie, wnosi do naszej rozmowy przytoczenie 100 razy szybszego
CPU, jeśli może być przyspieszony na N sposobów? Myślę że nic, tylko
komplikuje sprawę. Dlatego w porównaniach często powołujemy się na
teoretycznego programistę który napisał kod idealny - niestety z
tym też jest problem, bo zazwyczaj nie mam kodu idealnego pod
ręką. Hmmm my nie mamy, ale twórcy kompilatorów mogą mieć i to
wiele prawie doskonałych kodów.
Powiem w ten sposób. Gdy bez zastanowienia pisałem fragment kodu w
asemblerze na nowsze procesory w czasach gdy kompilatory już
powszechnie uchodziły za dopracowane, to mój kod działał np. o 20%-50%
wolniej niż skompilowany z opcją -O1. Gdy był kompilowany z
opcją -O3, w dodatku z informacjami z profilera, to mój był wolniejsz
jeszcze może o 40%-80%. Przepustowość pamięci się nie zmieniała.
Sposób korzystania z pamięci był taki sam, bo algorytmy za każdym
razem te same. Wniosek dla mnie jest taki, że pisząc nawet
przyzwoity kod w asemblerze można spowolnić wykonanie. Co by było
gdyby kompilator porównać z kodem optymalnym - nie wiem, o to
właściwie ja czasami dopytuję i nie uważam żeby moje pytania
oznaczały totalnie niezrozumienie, co powyżej uzasadniłem.
> samo to przepisywanie kodow by unikaly przetwazania pamieci jest raczej
> co nieco nieprzyjemna i 'nadbudowana' optymalizacyjna algorytmiką i
> moim zdaniem niekoniecznie to trzeba robic bo kody robia sie od tego
> dluzsze i brzydsze a nie maja dodatkowej funkcjonalnosci wrecz
> nabieraja węższej ak ze jest to mocno specjalistyczna dzialka)
Tu się zgadzam, przykładem jest ATLAS. Koszmarek implementacyjny i
zarazem dzieło sztuki implementacyjnej.
Pozdrawiam
Następne wpisy z tego wątku
- 20.08.17 13:55 bartekltg
- 21.08.17 07:49 Tomasz Kaczanowski
- 21.08.17 12:23 M.M.
Najnowsze wątki z tej grupy
- 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
- 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)
Najnowsze wątki
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Czyli jednak elektryki są TANIE i powszechnie dostępne dla obywateli
- 2025-05-03 Elektryki do Morskiego Oka do utylizacji
- 2025-05-03 Crash testy na publicznej drodze - 4 BMW zderzone
- 2025-05-03 pojebane Google
- 2025-05-03 Brednie w wiki - hasło Dehomag
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-05-03 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-03 Warszawa => Frontend Developer (Angular13+) <=
- 2025-05-02 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-02 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-02 Polska => Senior Key Account Manager <=
- 2025-05-02 Warszawa => Senior Programmer C <=
- 2025-05-02 Gdańsk => Team Lead Data Engineer (Snowflake) <=