Wpis z mikrobloga

@groman43: Nie jest wymarły. Tylko debile takie głupoty gadają, bo sami nie potrafią zrozumieć, o co chodzi. Po prostu mało kto używa obecnie assemblera do pisania aplikacji. Jednak sama znajomość assemblera jest bardzo przydatna przy każdym języku programowania, ponieważ otwiera ci drogę do analizy wydajności pewnych fragmentów twojej aplikacji. Amatorzy będą próbowali zrobić swego rodzaju brute force i w pętli na timerze zrobić daną operację milion razy, aby (i tak
  • Odpowiedz
  • 1
@tiritto: Akurat 90% wydajności procesora w dzisiejszych czasach bierze się z IPC, cache'a, branch prediction, multithreadingu, speculative execution, register renaming, etc. Znajomość assembly nie wiele Ci pomoże (no chyba, że mówimy o VLIW, ale to jest już passe). Będziesz wiedział jak wygląda frontend nowoczesnego CPU i tyle.

Generalnie, jeśli nie robisz głupich rzeczy, to HW i kompilator zrobią wszystko za Ciebie.
  • Odpowiedz
  • 3
@polskie-k0rpo: Ależ oczywiście, że wszystkiego nie zoptymalizuje. Ale zwykle zrobi wystarczająco dobrą robotę.

Nie muszę szukać przykładów daleko - gcc jest słynny ze swoim problemów z wektoryzacją kodu i niechętnego generowania kodu SIMD.

Co do branchless, to jest czasem bardzo stara sztuczna (starsza ode mnie), ale czasem nadal widzę ją wykorzystywaną. Zamiast kodu w
  • Odpowiedz