.[ ČeskéHry.cz ].
Profiling
Jdi na stránku Předchozí  1, 2, 3  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Ladis



Založen: 18. 09. 2007
Příspěvky: 1533
Bydliště: u Prahy

PříspěvekZaslal: 22. duben 2014, 22:04:11    Předmět: Odpovědět s citátem

perry napsal:
Jediné, co je smůla, je hnusné Visual Studio 2013 Evil or Very Mad

Ale stejně ho budeš používat Wink
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 23. duben 2014, 08:26:55    Předmět: Odpovědět s citátem

No ano.. nic lepšího jsem totiž nenašel Wink
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 23. duben 2014, 08:30:47    Předmět: Odpovědět s citátem

A v jakém směru hnusné? Nedá se nějak nastavit? Mám VS 2012 Express a měl jen takový hnusný bílý skin. Nicméně i ten jde takovým trikem změnit.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. duben 2014, 08:56:18    Předmět: Odpovědět s citátem

no vytizeni CPU ti samozrejme zustane - nebo mas nejaky FPS limiter? - ale je spravne ze se to presunulo ke gl* funkcim, tak je to snad i ocekavane ne?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 23. duben 2014, 09:41:12    Předmět: Odpovědět s citátem

Jj.. Presun ke gl funkcim je ocekavany.

Ad VS 2013.. Doted jsem mel 2010 a to vypadalo uplne jinak po strance vzhledu. Tuto ma takovy "metroidni" nadech
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 23. duben 2014, 10:49:49    Předmět: Odpovědět s citátem

Vilem Otte napsal:
Nic není ideální. Osobně na tučňáčkovi gprof, ...


mnohem lepsi nez gprof je podle me perf (obvykle je v baliku linux-tools).

Mimo perf doporucuju take valgrind (ano je to i profiling tool), strace a dalsi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 23. duben 2014, 12:29:58    Předmět: Odpovědět s citátem

Vsade, kde som kedy pracoval, sme pouzivali mimo komercnych krasnych zalezitosti (hlavne Telemetry2 -- uplne luxusny a krasny a nunununu sampler, Intel VTune, atd...) aj priamo xperf + Windows Performance Analyzer. Je to velmi mocny nastroj a je tu pre vsetkych. Zaujimave je, ze priamo s akoukolvek analyzou vo VS skusenosti nemam :O

[OT]Ludia na VS 2012 picuju z mne uplne neznamych dovodov, vsak sa to biele da 4 klikmi zmenit na "pekne modre". A kapitalky v menu? Ludia, nesrandujte, to urcuje kvalitu softu? Hehe[/OT]
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 23. duben 2014, 12:42:07    Předmět: Odpovědět s citátem

citace:
A kapitalky v menu? Ludia, nesrandujte, to urcuje kvalitu softu? Hehe


To se dá vypnout Wink

_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 23. duben 2014, 13:33:07    Předmět: Odpovědět s citátem

perry napsal:
Tak ta std::unordered_map to trochu zlepšila.

Co se týče profilingu v Release módu, tak vytížení CPU je stejné akorát se volání přesunula někam jinak, resp. k nějakým glFunkcím. Nicméně přechodu na C++11 nelituji, projel jsem si novinky a vypadá to dobře. Jediné, co je smůla, je hnusné Visual Studio 2013 Evil or Very Mad


cpu profiling musi byt vzdy v release rezimu jinak nic moc nevypovida.

std::unordered_map je sice klasicka hash-table ale pokud je potreba neco opravdu rychleho tak je vhodnejsi se zamerit na neco co je vic na miru. Jaky je pomer insert vs lookup v tvem pripade? Bude mapa obsahovat desitky, tisice ci miliony prvku? atd..

Obzvlast pokud lookup mnohonasobne prevysuje insert/delete tak je dobre se zamyslet i nad organizaci dat v pameti a tu std::unordered_map diky sve obecnosti nema z pohledu L2-cache nejvhodnejsi.

Zde: http://inputwish.com/el/hashmap-bench.tgz jsem vystavil jednoduchou implementaci hashmap (open addressing a linear probing) zalozenou na implementaci od preshing.com.
Je to primitivni benchmark nad mapou ktera obsahuje 4000 klicu a je mereno 400 000 000 lookupu (z toho je zhruba polovina tech co v mape nejsou) ukazuje na mem i5 desktopu:

kód:

hashmap<int, int>: 5.70522s
std::unordered_map<int, int>: 15.1859s


zvlastni..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. duben 2014, 13:56:01    Předmět: Odpovědět s citátem

http://lonewolfer.wordpress.com/2014/03/13/benchmarking-hash-table-implementations-in-different-languages/

tady je jeden z benchmarku co jsem v posledni dobe zahledl na netu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 23. duben 2014, 14:06:06    Předmět: Odpovědět s citátem

Spíš z té mapy čtu... ale porovnání zajímavý, možná zkusím něco jiného. Nicméně zatím jsem spokojený s tou unordered_map (dokonce jsem díky tomu objevil i bug, kdy std::map to setřídila takže mi to náhodnou vždycky vracelo dobře.. teď už ne Wink )
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 23. duben 2014, 15:12:47    Předmět: Odpovědět s citátem

Když už jsme u toho hashování, jenom dvě poznámky, třeba by se to někomu mohlo hodit:
- Jako obecná bloková hashovací funkce stojí za zmínku MurmurHash3 (to, co posílal quas, k hashování intu používá avalanche finalizer 32-bitové varianty právě této hashovací funkce)
- Pozor na hashování floatů: -0 a +0 mají jinou binární reprezentaci, v rbtree (set/map) to nevadí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 24. duben 2014, 06:51:35    Předmět: Odpovědět s citátem

mar napsal:
Když už jsme u toho hashování, jenom dvě poznámky, třeba by se to někomu mohlo hodit:
- Jako obecná bloková hashovací funkce stojí za zmínku MurmurHash3 (to, co posílal quas, k hashování intu používá avalanche finalizer 32-bitové varianty právě této hashovací funkce)


jj. V pripade tohoto velmi primitivni benchmarku je ale MurmurHash3 brzda. Kdyz zjednodusim hash funkci na pouhe
kód:

inline int hash(int h)
{
  return h;
}


tak je v tomto benchmarku rychlejsi nez khash! Ktery ma default hash 32bit intu prave jen samotny int + nabizi alternativne Wang hash nebo jednoduse pridat vlastni.

kód:

hashmap: 3.84163s,
khash: 4.1986s


Presto bych cekal ze se v "real-world" aplikaci MurmurHash3 vyplati.

mar napsal:
- Pozor na hashování floatů: -0 a +0 mají jinou binární reprezentaci, v rbtree (set/map) to nevadí.


pouzivat float jako hashovany klic? To jsem jeste nikdy nevidel -- dobra divocina Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 24. duben 2014, 08:51:15    Předmět: Odpovědět s citátem

Hmm... zajímavé Smile Ano - hashovací funkce může být velká brzda pro elementární typy:
Zkoušel jsem tu tvoji hashmapu (VS2012) a porovnával s unordered_map. Aby to porovnání bylo fér, vnutil jsem unordered_map stejnou hashovací funkci pro int a změnil jsem count() na find()/end() [v microsoftí implementaci to bylo o fous rychlejší]
a dal jsem optimalizace na maximum a rozdíl v rychlosti byl nakonec pouhá 2 procenta v nesprospěch unordered_map, což už je prakticky zanedbatelné (v původní verzi byl rozdíl 50%).
Na tom je krásně vidět, že vymýšlet znovu kolo má občas smysl - odpadne spousta balastu a nebude to na jiných platformách záviset na konkrétní implementaci STL.
K těm floatům, potřeboval jsem hashovat 3d vektory, tj. obsah klíče, výsledný hash byl samozřejmě unsigned int Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1525
Bydliště: Telč

PříspěvekZaslal: 24. duben 2014, 09:07:41    Předmět: Odpovědět s citátem

quas4 napsal:

pouzivat float jako hashovany klic? To jsem jeste nikdy nevidel -- dobra divocina :)

Za určitých okolností lze float castnout na integer a porovnávat je jako integery. Funguje to.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3  Další
Strana 2 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna