dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

CLR vs C++

 
dev.gamez.lv Forum Index -> Pļāpātuve
View previous topic :: View next topic  
Author Message
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Sun Apr 13, 2008 10:31 pm    Post subject: CLR vs C++

Visi, kas te striideejaas par abu valoodu/tehnologjiju/vizhu (taa ir pareizi?) aatrdarbiibu. Nesen arii CodeProject tapa kaarteejais tests: http://www.codeproject.com/KB/tips/convolution_experiment.aspx
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Sun Apr 13, 2008 10:35 pm    Post subject:

Njaa, nepamaniiju, ka 7. apriilii raksts tika apdeitots, tomeer C++ uzraada labaakus testa rezultaatus.
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Apr 14, 2008 12:54 am    Post subject:

Tas protams ir jauki rēķināt 5 miljonu dimensiju vektoru skalāro reizinājumu... bet nu es šādu mākslīgu mērīšanos neņemtu par reālam kodam atbilstošu situāciju. Pie tam, viņa C++ kods nav ne tuvu optimizētam kodam. Cikla atrullēšanu un operāciju pipelin'ošanu viņš ir aizmirsis savā SSE optimizētajā kodā. Tas dod ievērojamāku ieguvumu pat bez SSE instrukcijām. C++ kods jau tieši dod šādas iespējas - optimizēt kodu zemākā līmenī nekā augsta līmeņa valodas dod iespējas, un ir neprātīgi šīs iespējas neizmantot tādējādi mērīties salīdzinot ātrdarbību sliktam C++ kodam.

Daudz reālāka mērīšanās būtu uz parasti pielietotām operācijām - atmiņas izdalīšanu (šeit C# spīdētu!), objektu veidošanu, metožu saukšana un tml.

Un tam vajadzētu būt pat mērkaķim skaidrs, ka jebkura abstrakcija, tai skaitā virtuāla mašīna, radīs kaut nelielu, bet bremzi vispārīgam kodam. Protams, ļoti specifiskām operācijām var gadīties, ka rodas ātrums, taču citās operācijās tas nebūs tik labas.

Visu laiku esmu teici - vispirms profilēt un pēc tam optimizēt. Vienmēr var lēnākās programmas daļas (nav svarīgi vai C#, vai Python, vai Java) pārrakstīt tīrā C/C++ kodā, kuru pieslēgt kā paplašinājumu (dll failu) lietotajai valoda/videi. Kuru gan interesētu, piemēram, ja "lēnajā" Pythonā izsauktu messagebox funkciju, ja tas tiek darīts daudz retāk nekā vienreiz sekundē. Optimizēt vienu izsaukumu sekundē? Un ko iegūs? Piemēram, 1 milisekundi uz sekundi - tas ir tikai 0.1% ātrdarbības pieauguma.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Mon Apr 14, 2008 7:36 pm    Post subject:

nez, man anyway kautkā neticas, ka C# varētu pārspēt optimizētu c++ jebkur..
tur jāskatās...
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Tue Apr 15, 2008 10:01 am    Post subject:

Skaties skaties, eku novelc tur sourci un pagluuni pats Very Happy Kas var buut jaukaaks ja neko neoptimizeejot tu ieguusti aatraaku kodu kaa C++ xD Mja... Ar C# vajag tikai maaceet netaisiit GC mokas un viss paareejais ir vnk forsh Razz
_________________
Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Apr 15, 2008 10:23 am    Post subject:

Storm wrote:
ja neko neoptimizeejot tu ieguusti aatraaku kodu kaa C++ xD Mja...

Tādā gadījumā tu nesaproti C++ jēgu. C++'ā jau nav jēga programmēt, ja tu netaisies tur kaut ko darīt zemā līmenī. Tas būtu tā kā sneiks mērījās ar std::vector vs pliki masīvi - lietot ta viņš tos vektorus lietoja, bet pilnīgi neoptimāli. Un tu taču netaisies apgalvot, ka masīvus lietot ir labāk, jo neko neoptimizējot ar tiem tu iegūsti lielāku ātrdarbību...

Un zemā līmenī C++ optimizēt ir milzonīgas iespējas. C#'ā, piemēram, tev rokas būs sasietas - neko tur nevarēsi zemā līmenī optimizēt, neņemot citas valodas palīgā.
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Pļāpātuve All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group