Kde inicializovat novu instanciu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kde inicializovat novu instanciu – C / C++ – Fórum – Programujte.comKde inicializovat novu instanciu – C / C++ – Fórum – Programujte.com

 

Anonym
~ Anonymní uživatel
454 příspěvků
6. 7. 2011   #1
-
0
-

Ahojte

Par krat som uz premyslal, nakolko vytvorenie instancie ovplyvnuje vykon aplikacie. Povedzme, ze mam napr instanciu Randomu. Mam ju vytvorit pred cyklom, alebo v cykle ? Doteraz som to robil pred cyklom a v cykle ju pouzival, pretoze keby som ju vytvaral v cykle, musela by sa neustale vytvarat nova instancia a to mi pride ako nevhodne(vzhladom na vykon). Nemusi ist o jazyk C++ ale kludne aj o JAVU alebo ktorykolvek iny. Dik

Nahlásit jako SPAM
IP: 178.40.56.–
crazy
~ Moderátor
+10
Grafoman
6. 7. 2011   #2
-
0
-

#1 Anonym
už sis odpověděl sám.

Záleží na tom co potřebuješ. Pokud v každém průběhu cyklem potřebuješ novou instanci a s tou pracovat, tak ji samozřejmě musíš vytvářet v cyklu. Pokud v každém průběhu potřebuješ tu jistou instanci, tak před cyklem.

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 7. 2011   #3
-
0
-

Jasne, ja som si to myslel, ale nebol som si isty. Teda, neviem aky dopad na vykon to ma. Cize podla moznosti by som sa mal vyhybat zbytocnemu vytvaraniu instancii ... Dakujem

Nahlásit jako SPAM
IP: 178.40.56.–
Peppy0
Stálý člen
6. 7. 2011   #4
-
0
-

no, to sa od programátora očakáva...že dobré píše kód :) ;)

Nahlásit jako SPAM
IP: 85.135.130.–
Qt, QML, C++
yaqwsx+9
Posthunter
6. 7. 2011   #5
-
0
-

Ve většině aplikací to nemá moc smysl řešit - jednak na většinu věcí je výkon dnešních počítačů předimenzovaný, navíc o tuto optimalizaci by se měl postarat (a taky se stará) překladač. Jde jen o osobní preference a přehlednost kódu.

Nahlásit jako SPAM
IP: 85.160.108.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Anonym
~ Anonymní uživatel
454 příspěvků
6. 7. 2011   #6
-
0
-

   

No presne toto som potreboval No viem, ze sa to ocakava, lenze obcas programator nevie ako je to dobre a ocakavania proste neplni 

Nahlásit jako SPAM
IP: 178.40.56.–
Peppy0
Stálý člen
6. 7. 2011   #7
-
0
-

Tak u desktopov ako to ani nie je tak všeobecne cítiť, ale skôr by som to dodržiaval vo webových aplikáciách, kde je výkon zdieľaný...

Nahlásit jako SPAM
IP: 85.135.130.–
Qt, QML, C++
KIIV
~ Moderátor
+43
God of flame
6. 7. 2011   #8
-
+2
-
Zajímavé
Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
yaqwsx+9
Posthunter
6. 7. 2011   #9
-
0
-

#8 KIIV
Konečně vím jak se to jmenuje! Máš pravdu, ale... Zastávám názor, že není potřeba dělat ručně něco, co může stroj udělat stejně dobře, ne-li lépe. A zrovna zde to platí; troufám si říci, že 99% situací u cyklů vyhodnotí překladač správně a provede tu nejlepší možnou optimalizaci.

Nahlásit jako SPAM
IP: 85.160.108.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
KIIV
~ Moderátor
+43
God of flame
6. 7. 2011   #10
-
0
-

#9 yaqwsx
V 99% to bude jen haluz, pokud to bude fungovat, aniz by to zpomalovalo (pokud si to delku retezce uklada v jedne promenne napriklad). Zkus v C dat strlen do foru (a nejakej mensi 10MB retezec) - pak teprve poznas jak moc ses zmylil.

Optimalizace bych tam opravdu cekal jen pokud se kod nikdy nemuze vykonat... Pripadne se muzou promenne v cyklu cachovat v registrech procesoru a tak podobne...

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
yaqwsx+9
Posthunter
6. 7. 2011   #11
-
0
-

#10 KIIV

Strlen apod. ano, ty se nezoptimalizují - to je myslím známý fakt. Já měl na mysli případy, kdy (resp. kde) deklarovat proměnnou/vytvořit instanci třídy apod. u cyklů.
Je to tak 3 měsíce zpátky jsem se zrovna o optimalizaci cyklů zajímal (tedy případy, kdy deklarovat proměnnou) - strávil jsem 2 týdny probíráním se ASM kódu, abych přišel věci na kloub. A došel jsem k závěru, že ruční úpravou nejsem v podstatě schopen docílit lepších výsledků. Jedinou vyjímkou byly mé vlastní třídy, které jsem cíleně zkoušel psát, abych se pokusil zmást překladač.

Zkusím pohledat mé zdrojové kódy, na kterých jsem to zkoušel...

Nahlásit jako SPAM
IP: 85.160.108.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Námety na novú lekciu — založil Anna Medveďová

Navrh na novu sutaz — založil dalaman

KDE A.I. — založil Nezi

Kde je chyba??? — založil Mau

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý