Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 19. září 2014, 07:27:11 Předmět: |
|
|
Vilem Otte: Jak jsi prisel na to, ze stavim na nejakem "benchmarku + kodu"?
Ja nedokazu kazdy svuj vyrok, ktery je vysledkem nekolikalete praxe a studia, ozdrojovat a dolozit ukazkou programu
Proste uz jsem se nekolikrat podilel na projektech, kde se muselo prejit na nativni kod, abychom na telefonech dosahli uspokojivych vysledku (napr. v oblasti zpracovani obrazu). Nebo si zkus udelat hru s pouzitim JBox2D a pak pomoci JNI + nativni Box2D. Tam, co si tak pamatuju, byly taky rozdily stovky procent.
I Google v dokumentaci NDK pise, ze NDK se hodi na herni enginy, zpracovani signalu, fyzikalni simulace a jine performance-critical veci...
Nicmene pokud chces vylozene cisla, tak si na svem Androidu pust benchmark od EEMBC (jehoz cleny jsou napriklad AMD, ARM, Atmel, Freescale, ...). I na mych high-end telefonech vychazeji vysledky vic nez 20:1 ve prospech nativniho kodu. (Benchmark provadi napriklad nejake operace nad maticemi, praci se seznamy, vypocet CRC.)
Problematicnost tvrzeni, ze "Mono na tom bude asi o neco lip nez Dalvik", si uvedomuju. Proto to sluvko "asi". Vychazim pouze z toho, ze Dalvik je shit , a taky z toho, ze jsem kdysi videl benchmark, ktery srovnaval na Androidu C++, Mono a Dalvik. C++ bylo cca. 20x rychlejsi nez Java a Mono 10x rychlejsi nez Java - ale to uz bylo par let zpatky a od te doby usel Dalvik urcite velky kus cesty. Taky mam jeste v zive pameti experiment Xamarinu s kompletni portaci Androidu do C# - http://blog.xamarin.com/android-in-c-sharp/ Muzes si tam precist neco o rozdilech ve vykonu i s jednim malym benchmarkem |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 19. září 2014, 07:33:09 Předmět: |
|
|
No nic lehce jsme odbocili od tematu Co se tyce il2cpp. Je fakt ze ted v prvni verzi z toho asi vyjde celkem 'sracka', ktera hlavne vyresi problem zavislosti na Mono.
To ale nic nerika o tom, ze to mozna bude rozumny krok, ktery bude mozne dale ladit a ve vysledku nakonec generovat nejake rozumne C++.
Precijenom, stejne jako se vyviji JIT a GC .NETu tak se bude vyvijet i tahle transformace. Rozdil mezi .NET 1.0 a .NET 4.5 snad vidi vsichni. |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 19. září 2014, 07:40:06 Předmět: |
|
|
No od tematu jsme prave zase tak moc neodbocili, protoze se bavime o tom, jestli opravdu prechod na C++ muze na mobilech zvysit vykon. Jak se tak divam, tak jsem ted tady asi jediny, kdo Unity uveril, ze vykon je ten duvod, proc to cele delaji |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 19. září 2014, 07:48:27 Předmět: |
|
|
Radis napsal: |
No od tematu jsme prave zase tak moc neodbocili, protoze se bavime o tom, jestli opravdu prechod na C++ muze na mobilech zvysit vykon. Jak se tak divam, tak jsem ted tady asi jediny, kdo Unity uveril, ze vykon je ten duvod, proc to cele delaji |
no ja si myslim ze srovnavas nesrovnatelne zatim - a to je primy vyvoj v C++ a vyvoj v Dalviku/Mono.
tam samozrejme rozdil je.
to co srovnavaji ostatni a proc si mysli ze to asi az takovy narust nebude, je to, ze konverze il2cpp neznamena psani v C++, ale to ze se kod zatizeny garbage-collectorem a dalsima vecma preklopi do C++ jen aby se primo zkompiloval. tzn. veci jak garbage collector ti tam zustanou.
takze ja to na velike zrychleni v prvni fazi nevidim. resp. ja byt vyvojarem tak na to urcite v prvni fazi necilim. ale cilim na to, aby to bezelo alespon stejne, ale abych se hlavne zbavil Mono.
v druhe fazi/verzi uz se muzeme bavit o tom ze se zacne ladit i vykon a napr. napojeni primo na Box2D a tak. |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 19. září 2014, 08:00:42 Předmět: |
|
|
No tak to si samozrejme uvedomuju, ze ten narust vykonu nemuze z principu byt tak velky, jako kdyby vyvoj probihal primo v C++. Ty duvody jsou zrejme.
Ale predpokladam, ze kluci v Unity benchmarkuji jako o zivot a asi naznali, ze z toho neco vyzdimat dokazou a ze to vyznam ma. |
|
Návrat nahoru |
|
|
OndraSej
Založen: 28. 07. 2007 Příspěvky: 767 Bydliště: Brandýs nad Labem
|
Zaslal: 19. září 2014, 10:22:48 Předmět: |
|
|
Radis: Mono (Xamarin) na iOS se kompiluje do nativního kódu při buildu, takže tam už pres C++ moc získat nepůjde. Na Androidu mají vlastní jit při loadu, přes Dalvik to nejde a nikdy nešlo... _________________ http://trionteam.net |
|
Návrat nahoru |
|
|
split
Založen: 15. 05. 2013 Příspěvky: 68
|
Zaslal: 19. září 2014, 10:49:12 Předmět: |
|
|
Pozrel si niekto to video cele ? Pretoze mam pocit ze na vela vasich dotazov tam boli odpovede. _________________ @split82 |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 19. září 2014, 11:14:50 Předmět: |
|
|
OndraSej: S tim Dalvikem to byla takova trochu odbocka. Slo spis obecne o vykonovy rozdil (na mobilech) nativni vs. interpretovane (vcetne JIT).
split: Ja jo
Jasne, treba o tom vykonu tam mluvi hodne (jejich generovany C++ kod je jen o neco malo pomalejsi nez rucne napsany, na OSX a Windows maji dvakrat vetsi vykon nez s Mono atd.), ale beru to s rezervou. Ten benchmark IMHO neni prece jenom uplne reprezentativni Pockam si, jak to bude vypadat casem, ale zda se mi to hodne slibne. |
|
Návrat nahoru |
|
|
Vilem Otte
Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 19. září 2014, 15:41:06 Předmět: |
|
|
#Radis: Díky za info, proletím, vyzkouším a kouknu, jakmile bude trošku času. _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. |
|
Návrat nahoru |
|
|
|