Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[wytwarzanie aplikacji] Określenie wymagań sprzętowych/systemowych aplikacji

Ostatnio zmodyfikowano 2013-09-19 20:13
Autor Wiadomość
Revo
Temat założony przez niniejszego użytkownika
» 2013-09-19 00:11:01
DejaVu, 2.4 GHz to 2.4 mld podstawowych operacji w ciągu sekund, a nie 2.4 mln. To już kolosalna różnica i wykonanie 2.4 mln operacji to dla niego jest nic. pekfos, wybacz :D 50 megabitów/s, i wybacz za głupie pytanie, ale kto pyta nie błądzi(wolałem się upewnić) :P Dziękuję wszystkim za wyczerpujące odpowiedzi ! Tyle mi na razie wystarczy, żeby zaspokoić ciekawość. Jak bd potrzebował faktycznie określić wymagania dosyć dokładnie to najwyżej zwrócę się jeszcze raz na forum z konkretnym pytaniem :) Jeszcze raz dziękuję i pozdrawiam !
P-92308
akwes
» 2013-09-19 00:16:17
@Revo,


Intel Core i7 Extreme Edition 3960X (Hex core) : 177,730 MIPS at 3.33 GHz

http://en.wikipedia.org/wiki​/Instructions_per_second

Pamiętaj, że nie ważne jak szybki jest procesor, to jeżeli zmienne będą pobierane z pamięci RAM (nie wszystko mieści się w catche procesora) to prędkość gwałtownie spada.
P-92309
DejaVu
» 2013-09-19 00:34:53
Fakt, o 3 zera się pomyliłem w przykładzie :P w każdym razie tak się właśnie liczy pesymistyczne zapotrzebowanie na moc CPU :)

/edit:
Poprawiłem obliczenia :)
P-92310
Revo
Temat założony przez niniejszego użytkownika
» 2013-09-19 09:54:11
Wow, udało mi się poprawić administratora :P + 10 do fajności :P Taki żarcik oczywiście :)
Do tego przyjmie, że szacunkowo obliczenia w jednym obiegu pętli zabierają 50Hz ..
Przepraszam za głupie pytanie, ale skąd Pan wziął to 50 Hz ?? Bo wynik prawie 0.8 GHz na jedną pętlę, jest jak dla mnie kolosalnie przesadzony... chociaż ...

akwes, faktycznie ma Pan rację, ale pamięć cache L2, L3 jest tak zaprojektowana, żeby przewidywać jakie dane będą potrzebne i załadować je do pamięci cache wcześniej przez co szybkość nie spada aż tak bardzo. Tak mi się wydaję oczywiście, ale mogę się mylić.

DejaVu bardzo dziękuję za poprawę obliczeń w poprzednim poście, ponieważ od razu zmienia to postać rzeczy. Bardzo klarownie Pan to opisał i zrozumiale dla mnie. Jak na temat założony z czystej ciekawości, dostarcza mnóstwa informacji ! Dziękuję !
P-92311
DejaVu
» 2013-09-19 11:30:57
50Hz -> szacujesz, że około 50 cykli procesora wykonuje jeden przebieg pętli. 50 cykli procesora przekłada się na około 25-50 instrukcji procesora. Czyli jeżeli doliczysz się szacunkowo np. 20 instrukcji wykonywanych w algorytmie w pesymistycznym przypadku, to mnożysz sobie to razy dwa i przyjmujesz, że tyle szacunkowo Ci zużywa aplikacja zasobów. Możesz też w uproszczeniu liczyć liczbę linijek, np. masz 20 linijek kodu wewnątrz pętli to zakładasz, że 40 cykli Ci te linijki wciągną.

Generalnie rzecz biorąc ta przykładowa wartość 50 została przeze mnie wzięta z sufitu. W algorytmie wykrywania kolizji zazwyczaj masz kilka if-ów porównujących, więc być może algorytm łącznie wciągnie Ci ze 20 cykli zegara, jednak zawsze lepiej solidnie zaokrąglić w górę szacunkowe wartości, bo i tak obliczenia mają dać Ci pogląd ogólny na temat obciążenia CPU :) Jak chcesz znać wartości szczegółowe to po prostu robisz sobie benchmarka i mierzysz ile ms wykonują się dane fragmenty kodu lub używasz do tego odpowiednich narzędzi deweloperskich, które umożliwiają wykonanie takich pomiarów bez ingerowania w kod, a jedynie w ustawienia projektu.
P-92313
Revo
Temat założony przez niniejszego użytkownika
» 2013-09-19 13:57:05
Rozumiem :) Dziękuję ślicznie ! Strasznie skomplikowany temat jak na "głupie" określenie wymagań aplikacji, ale dobrze wiedzieć jak to się z grubsza robi !

PS.

Mógłbym prosić ewentualnie jeszcze o jakąś aplikacje (sama nazwa wystarczy), do testowania wyrywkowo kodu ??
P-92317
pekfos
» 2013-09-19 14:20:01
Gdyby złożoność obliczeniowa była bezużyteczna to nie robiono by wokół niej tyle szumu :)
A gdzie napisałem, że jest bezużyteczna?

15 mln przebiegów pętli pochłonie sam algorytm sprawdzania kolizji w pesymistycznym przypadku, czyli 15MHz.
Zakładając, że gra jest jedynym wykonywanym przez procesor kodem ;)

Możesz też w uproszczeniu liczyć liczbę linijek, np. masz 20 linijek kodu wewnątrz pętli to zakładasz, że 40 cykli Ci te linijki wciągną.
Równie dobrze mogą wciągnąć 80 cykli, albo 800. Nawet gdyby była mowa o asemblerze, to takie szacowanie jest bardzo optymistyczne. Poza tym, jak oszacować wywołanie?

do testowania wyrywkowo kodu ??
Do czego?
P-92318
Revo
Temat założony przez niniejszego użytkownika
» 2013-09-19 14:42:30
Jak chcesz znać wartości szczegółowe to po prostu robisz sobie benchmarka i mierzysz ile ms wykonują się dane fragmenty kodu lub używasz do tego odpowiednich narzędzi deweloperskich, które umożliwiają wykonanie takich pomiarów bez ingerowania w kod, a jedynie w ustawienia projektu.
 Aplikacja/aplikację do wykonywania takich testów.
P-92319
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona