4087490690

4087490690



27.05.2010

które takie instrukcje będą udawać (już są takie napisane). Ale nie ma nic uniwersalnego. Na jedną okazję można użyć takich instrukcji, a na inną - innych. Jednak zawsze można wybrać najszybszą wersję według własnego zdania, a nie według zdania kompilatora.

Asembler może i nie jest z początku łatwy do zrozumienia, ale wszystko przyjdzie wraz z doświadczeniem.

7.    Trzeba pisać dużo kodu.

No, tak. Jak się komuś męczą palce, to niech zostanie przy HLLach i żyje w świecie abstrakcji. Prawdziwym programistom nie będzie przecież takie coś przeszkadzać!

Mówi się, że ZLEJ baletnicy nawet rąbek u sukni przeszkadza.

Poza tym, programista nad samym pisaniem kodu spędza ok 30% czasu przeznaczonego na program (reszta to plan wykonania, wdrażanie, utrzymanie, testowanie...). Nawet jeśli programiście asma zabiera to 2 razy więcej czasu niż programiście HLLa, to i tak zysk lub strata wynosi 15%.

Dużo pisania sprawia, że umysł się uczy, zapamiętuje składnię instrukcji i nabiera doświadczenia.

8.    Assmebler jest ciężki do nauki.

Jak każdy nowy język. Nauka C lub innych podobnych przychodzi łatwo, gdy już się zna np. Pascala. Próba nauczenia się innych dziwnych języków zajmie dłużej, niż nauka asma.

9.    Ciężko znajdować i usuwać błędy.

Na początku równie ciężko, jak w innych językach. Pamiętacie jeszcze usuwanie błędów ze swoich pierwszych programów w C czy Pascalu?

10.    Programy w asemblerze są ciężkie w utrzymaniu.

Znowu powiem to samo: podobnie jest w innych językach. Najlepiej dany program zna jego autor, co wcale nie oznacza, że w przyszłości będzie dalej rozumiał swój kod (nawet napisany w jakimś HLLu). Dlatego ważne są komentarze. Zdolność do zajmowania się programem w przyszłości także przychodzi wraz z doświadczeniem.

11.    Nowoczesne komputery są tak szybkie, że i tak szybkość nie robi to różnicy...

Napiszmy program z czterema zagnieżdżonymi pętlami po 100 powtórzeń każda. Razem 100 000 000 (sto milionów) powtórzeń. Czas wykonania tego programu napisanego w jakimś HLLu liczy się w minutach, a często w dziesiątkach minut (czasem godzin - zależy od tego, co jest w pętlach). To samo zadanie napisane w asemblerze daje program, którego czas działania można liczyć w sekundach lub pojedynczych minutach!

Po prostu najszybsze programy są pisane w asemblerze. Często otrzymuje się program 5-10 razy szybszy (lub jeszcze szybszy) niż ten w HLLu.

12.    Chcesz mieć szybki program? Zmień algorytm, a nie język

A co jeśli używasz już najszybszego algorytmu a on i tak działa za wolno?

Każdy algorytm zawsze można zapisać w asemblerze, co poprawi jego wydajność. Nie wszystko da się zrobić w HLLu.

13.    Nowoczesne komputery i tak mają dużo pamięci. Po co więc mniejsze programy?

Wolisz mieć 1 wolno działający program o rozmiarze 1 MB, napisany w HLLu i robić 1 czynność w danej chwili, czy może wolisz wykonywać 10 czynności na raz dziesięcioma programami w asemblerze po lOOkB każdy (no, przesadziłem - rzadko który program w asmie sięgnie aż tak gigantycznych rozmiarów!)?

5


Wstęp.



Wyszukiwarka

Podobne podstrony:
Uchwala nr 265/2010 z dn. 27.05.2010 r. w sprawie ustalenia rocznego wymiaru zajęć dydaktycznych ora
Koło Naukowe Mechaniki Budowli ^
27.05.2010 10    i    i 5
27.05.2010 section .data    ; początek sekcji danych. tekst db
27.05.2010 jest zabroniona. W ogóle najlepiej unikać jakichkolwiek operacji na rejestrach segmentowy
27.05.2010 kompilator. Miłego eksperymentowania. Na świecie jest 10 rodzajów ludzi: ci, którzy

więcej podobnych podstron