[Asembler a C++]Prędkość po połączeniu języków
Ostatnio zmodyfikowano 2013-02-15 09:35
RazzorFlame Temat założony przez niniejszego użytkownika |
[Asembler a C++]Prędkość po połączeniu języków » 2013-02-10 14:02:46 Witam. Mam pytanie. Czy kiedy w Assembly napisze funkcje powiedzmy Dodaj(int,int) to będzie (po importowaniu do c++) szybsze niż funkcja napisana w taki sposób: int Dodaj( int a, int b ) { return a + b; }
Wydawałoby się że tak, no ale zapytać nie zaszkodzi :) |
|
m4tx |
» 2013-02-10 15:09:33 Wiesz, najwęższym gardłem całego programu będzie użycie tej funkcji (+2 skoki dla procesora)... Po co pisać w asmie coś tak prostego? Nie sądzę, żeby coś to dało :) I ostatnie pytanie: czemu sam nie sprawdzisz? :P |
|
Mrovqa |
» 2013-02-10 15:20:03 Nie opłaca się pisać krótkich funkcji w assembly - masz dwa dodatkowe skoki, które niestety czyszczą cache procesora - a to jest niemały spadek wydajności. Lepiej jest użyć inline. Co do większych funkcji - wyobraź sobie napisanie takiego kodu, a co dopiero utrzymanie. Nie opłaca się. Ponadto kompilatory naprawdę nieźle optymalizują kod, a osoby, które się na tym nie znają po prostu napiszą wolniejszy kod. Wniosek: nie warto. O ile jakimś cudem uda Ci się zyskać lepszą wydajność, to nie dość, że będzie ona minimalnie wyższa, to nakład pracy był gigantyczny. Przy dzisiejszych komputerach i stale się rozwijającej technologii - odpuść sobie. |
|
DejaVu |
» 2013-02-10 21:32:11 Nie opłaca się czegokolwiek pisać w asemblerze jeżeli nie tworzysz sterownika sprzętowego :) Algorytmy należy optymalizować, a nie instrukcje. |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2013-02-11 12:19:51 Hehe zastanawiam się jak szybka by była gra np. Gothic 3 gdyby jakimś cudem w całości była pisana w asemblerze :P Ciekawe jakie wymagania by miała. |
|
Mrovqa |
» 2013-02-11 13:07:50 Zacznijmy od tego, że gdyby była pisana w asmie to by w ogóle nie powstała... ;) Jakie by miała wymagania i wydajność? Zapewne porównywalne do oryginału. Z resztą Gothic 3 to stara gra, więc wiesz... :P |
|
m4tx |
» 2013-02-11 15:50:52 Nie opłaca się czegokolwiek pisać w asemblerze jeżeli nie tworzysz sterownika sprzętowego :) Algorytmy należy optymalizować, a nie instrukcje. |
Akurat sterowniki często pisze się nie w Asmie, a w C... :) |
|
DejaVu |
» 2013-02-11 16:02:10 @up: ale czasami wstawki są niezbędne. |
|
« 1 » 2 |