Optimalizálás, hogy történik?
Hogy történik egy szoftver optimalizálása?
Mi alapján változtatnak a kódon?
Honnan tudják,hogy úgy optimálisabb az adott helyzetben?
Van ehhez valami jó doksi, illetve anyag ami elmélyed ebben
Alapvetoen azt nezik mennyi memoriat vagy processzor teljesitmenyt "hasznal" a kod.
Rengeteg cikk tanulmany modszertan szol errol angol nyelvu oldalkon keresgelj, bar gondolom magyarul is van rengeteg anyag.
ööö... nem
Nincs olyan, hogy optimálisabb, mert az optimális már a legjobbat jelenti. Vagy érted vagy nem...
öööö, de...
Az optimális azt jelenti hogy abban az időpillanatban az a legjobb. De amint lesz egy még jobb, akkor az lesz az optimális az előzőnél optimálisabb valahogy meg kell különböztetni a másiktól.
Mint írtam itt most nem Grétsy Lászlót kell(ene) játszani hanem programozói szempontból válaszolni. Ha ez nem megy inkább ne vitatkozzunk...
Vagy AKAROD érteni vagy nem...
Vagy AKAROD érteni vagy nem, de az optimális jelentése az, hogy a legjobb.
Értem, hogy meg akarod magyarázni... de inkább nézd meg az értelmező kéziszótárt.
Mindig meglep mikor valaki az evidenciákról szeretne vitatkozni...
"Nincs olyan, hogy optimálisabb"
Ha így nézzük, akkor egyáltalán nincs optimális kód, mert nem tudhatjuk, hogy lehet-e még finomítani rajta. Az optimálisnak vannak szintjei, és még feltételektől és elvárásoktól is függ. Ha változnak a feltételek, akkor az eddig optimális kód már talán nem is annyira optimális. Vagy egy alacsony elvárású helyre jó lehet egy kevéssé jól működő kód, de oda az optimális. Ahogy a kód egyre optimálisabb (pl. nő a teljesítménybeli elvárás), úgy közelíti az ideális(!) állapotot.
Tehát a legjobbnál van jobb?
Mert az optimális = legjobb.
Hihetetlen, hogy - állítólagos - szakértők egy olyan szó értelmét vitatja, amit teljesen egyértelmű.
Kérdező, ez sok dologtól függ. Lehet a csupasz kódot is optimalizálni, pl. ha a függvényhívások egy ciklusban előreláthatólag túl sok processzoridőt visznek el, akkor "inline" fügvényekké lehet alakítani, vagy ha nagyon sok olyan változó terheli a stack-et, amire esetleg nincs is szükség, akkor egyszerű feltételekhez kötni a létrehozásukat, stb. Ezek egy részével gyakran nem foglalkozunk, de lehet olyan futási környezet, ahol számít, vagy sok kicsi sokra megy. Matematikailag is lehet optimalizálni pl. kifejezéseket, amikor kiderül, hogy egy három soros kifejezés felírható sokkal egyszerűbben és mondjuk tized annyi idő alatt kiértékelődik (megint: sok kicsi sokra megy). Lehet még pl. háttértárhoz fordulásokat csökkenteni, fájl-, stream- stb. bufferméretet "hangolni", hardveres támogatást kihasználni (pl. feladatokat áttolni videokártyára), szálkezelést újragondolni, szálak vagy processzek közötti kommunikáció leghatékonyabb formáját megkeresni, ... szóval ahány projekt és körülmény, annyiféle lehetőség.
Külön doksi nem tudom létezik-e ehhez, inkább az egyes témaköröknél szokták említeni az egyes megoldások előnyeit, hátrányait, ügyes trükköket, stb.
#6 "Nincs olyan, hogy optimálisabb"
De van. És tudod miért? Mert számtalan programozó használja ezt a szót, és kollektíven elfogadják enneka szónak a létezését és jelentését. Egy szó jelentését nem a kéziszótár, hanem a széleskörű használat határozza meg, és ebben a szakmában ez egy széleskörűen elterjedt, elfogadott kifejezés. Nevezheted szakzsarognnak is, ha tetszik. Kérdezz meg 100 programozót arról, hogy mit jelent szerinte az 'optimálisabb' kifejezés, és hogy szerinte ez létező szó-e egyáltalán. 99 ugyanazt fogja mondani. Optimálisabb = jobban optimalizált. Programozók vagyunk, nem szeretünk túl sok lélegzetvételt pazarolni egy kifejezésre.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!