compiler opttimais cheyyuka

computingil, executable computer prograaminte chila attributeukal kuraykkunnathino paramaavadhiyaakkunnathino sramikkunna oru compileraanu optimising compiler. oru prograaminte nirvvahana samayam, memory kaalppaadukal, sambharana valuppam, vaidyuthi upabhogam enniva kuraykkuka ennathaanu pothuvaaya aavasyakathakal (avasaanathe moonnu portable computerukalkku janapriyamaan).
compiler opttimaiseshan saadhaaranayaayi "optimising transformations" enna kramam upayogichaanu nadappilaakkunnathu, oru prograam eduthu kurachu vibhavangal upayogikkukayo vegathil nadappilaakkukayo cheiyunna ardhaparamaayi thulyamaaya outtputtu prograam nirmmikkaan parivartthanam cheiyunna algorithangal. chila coode opttimaiseshan prasnangal enpi-poornnamo allengil theerumaanikkaanaavaathatho aanennu theliyikkappettittund. praayogikamaayi, compiler athinte task poortthiyaakkunnathuvare kaathirikkaanulla prograamarude sannadhatha polulla gadakangal oru compiler nalkunna optimaiseshanukalil uyarnna paridhikal sthaapikkunnu. opttimaiseshan saadhaaranayaayi valare cpu-memory-theevramaaya prakriyayaan. munkaalangalil, optimaiseshanukal nadatthaan kazhiyunna parimithappeduthunnathil computer memory parimithikalum oru pradhana gadakamaayirunnu.
eee gadakangal kaaranam, opttimaiseshan oru ardhathilum "opttimal" outtputtu apoorvvamaayi maathrame srishtikkunnulloo, vaasthavathil, oru "opttimaiseshan" chila sandarbhangalil prakadanatthe thadassappeduthiyekkaam. pakaram, saadhaarana prograamukalile vibhava upayogam mechappeduthunnathinulla huristic reethikalaanu avaa.
opttimaiseshan tharangal.
optimaiseshanil upayogikkunna saankethikavidyakale vividha "skoppukal" thammil vibhajikkaam, ithu orotta prasthavana muthal muzhuvan prograamineyum badhikkum. pothuvaayi paranjaal, praadeshikamaayi vipulamaaya saankethikavidyakal aagola saankethikavidyakalekkaal nadappilakkaan eluppamaanengilum cheria nettangalkku kaaranamaakunnu. skoppukalude chila udaaharanangalil iva ulppedunnu
scoped opttimaiseshanukalkk purame, opttimaiseshante rund pothuvaaya vibhagangal koodi undu
local mesheen dependent opttimaiseshante oru udaaharanamaanu inipparayunnathu. oru rajisttar 0 aayi sajjamaakkunnathin, oru rajisttar moolyam oru sthiraankamaayi sajjamaakkunna oru nirddeshathil '0' enna sthiraangam upayogikkuka ennathaanu vyakthamaaya maargam. svayam oru rajisttar cheyyuka ennathaanu vyakthamaaya maargam. eathu nirddesha vakabhedamaanu upayogikkendathennu ariyendathu compileraanu. pala risk mesheenukalilum, rund nirddeshangalum thulyamaayi anuyojyamaayirikkum, kaaranam avaa randum ore neelavum ore samayavum edukkum. intal x86 kudumbam polulla mattu pala microprosessorukalilum, oru udanadi oopparand decode cheyyenda aavasyamillaathathinaal, aantharika "udanadi oopparand rajisttar" upayogikkenda aavasyamillaathathinaal, soar veriyant cheruthum orupakshe vegathayeriyathumaanennu thelinjirikkunnu. ithil oru saadhyathayulla prashnam, rajisttarinte muun moolyathil oru daatta aashrithathvam avatharippikkam ennathaanu, ithu oru pipeline stolinu kaaranamaakunnu. ennirunnaalum, prosessorukalkku palappozhum staalukal undaakkaatha oru prathyeka kesai oru rajisttarinte soar undu.
pothuvaaya vishayangal.
oru valia paridhivare, compiler opttimaiseshan teknikkukalkku inipparayunna prameyangalundu, avaa chilappol vairudhyamundaakkunnu.
prathyeka saankethikavidyakal.
lupe optimaiseshanukal.
looppukalil pravartthikkaan praadhamikamaayi roopakalppana cheythirikkunna chila opttimaiseshan teknikkukalil iva ulppedunnu
daatta phloo optimaiseshanukal.
dattaa-phloo vishakalanathe adisthaanamaakkiyulla dattaa-phloo optimaiseshanukal praadhamikamaayi kantrol-phloo graphile kantrol edjukal vazhi daattayude chila savisheshathakal engane pracharippikkunnu ennathine aasrayichirikkunnu. avayil chilath ulppedunnu
ssa adisthaanamaakkiyulla optimaiseshanukal.
oro variable oridathu maathram nalkunna staatik single assainment enna prathyeka roopathilekku prograam parivartthanam cheythathinu sheshamaan eee optimaiseshanukal nadatthaan uddeshikkunnathu. ezz. ezz. eiii illaathe chila pravartthanangal undengilum, avaa ezz. ezz. eiii. yill ettavum falapradamaanu. mattu vibhagangalil pattikappedutthiyirikku niravadhi optimaiseshanukalkkum rajisttar alokkeshan polulla prathyeka maattangalonnumillathe prayojanam labikkum.
pravarthanaparamaaya bhasha optimaiseshanukal.
ivayil palathum pravarthanarahithamaaya bhashakalkkum baadhakamaanengilum, avaa onnukil lisp, emm. ell. thudangiya pravartthana bhashakalil uthbhavikkukayo prathyekichu nirnaayakamo aanu.
interprosadural optimaiseshanukal.
interprosadural opttimaiseshan muzhuvan prograamilum, nadapadikramangalilum phayal athirukalilum pravartthikkunnu. praadeshika bhaagathinteyum aagola bhaagathinteyum sahakaranathode nadathunna intraprocedural athiraalikalumaayi ithu karsanamaayi pravartthikkunnu. saadhaarana interprosural optimaiseshanukal ivayaanu nadapadikramam inlining, interprosural dedd-coode elemination, interprosural konsttant propagation, nadapadikramam reordering. pathivupole, compiler athinte yadhaartha opttimaiseshanukalkk munbu interprosadural vishakalanam nadathendathundu. interprosural vishakalanagalil aparanama vishakalanam, shreni axus vishakalanam, oru kooll graafinte nirmmaanam enniva ulppedunnu.
esji, intal, microsopht, sann microsistangal ennivayil ninnulla aadhunika vaanijya compilerukalil interprosadural opttimaiseshan saadhaaranamaanu. valarekkaalamaayi, ooppan sozhs jisisi sakthamaaya interprosadural vishakalanathinteyum opttimaiseshanukaludeyum abhaavathil vimarsikkappettu, ennirunnaalum ithu ippol mechappedunnu. poornna vishakalanavum opttimaiseshan infrastructure ulla mattoru ooppan sozhs compiler compiler aanu.
interprosadural vishakalanathin aavashyamaaya adhika samayavum sthalavum kaaranam, mikka compilerukalum sthirasthithiyaayi athu cheiyunnilla. interprosadural vishakalanavum mattu chelaveria optimaiseshanukalum praapthamaakkaan compilerode parayaan upayokthaakkal compiler oopshanukal vyakthamaayi upayogikkanam.
praayogika parigananakal.
oru compilerinu cheyyaan kazhiyunna vaividhyamaarnna optimaiseshanukal undakam, lalithavum nerayathumaaya, cheria samahara samayam edukkunnava muthal ganyamaaya alavil samahara samayam ulppedunna vipulavum sankeernavumaayava vare. athanusarichu, compilerukal palappozhum avarude niyanthrana commandileco nadapadikramatthilekko oopshanukal nalkunnu, ithu compiler upayokthaavine ethra opttimaiseshan abhyarthikkanamennu thiranjedukkaan anuvadikkunnu; udaaharanathinu, ibm fortran echu compiler upayokthaavine opttimaiseshan, rajisttar thalatthil maathram opttimaiseshan allengil poornna opttimaiseshan enniva vyakthamakkaan anuvadichu. 2000-kalode, klang polulla compilerukalkku parichithamaaya cockways _ 7 swichil ninnu aarambhich vividha opttimaiseshan choysukale badhikkunna niravadhi compiler command oopshanukal undaayirunnathu saadhaaranamaayirunnu.
opttimaiseshan verthirikkunnathinulla oru sameepanam poost-paas opttimaisarukal ennu vilikkappedunnavayude upayogamaanu (1970 kalude avasaanathile mainframe software muthalulla chila vaanijya pathippukal). eee upakaranangal opttimais cheiyunna compiler upayogichu executable outtputtu edukkukayum athu kooduthal opttimais cheyyukayum cheiyunnu. poost-paas opttimaisarukal saadhaaranayaayi assembly bhashayilo mesheen coode thalatthilo pravartthikkunnu (prograamukalude intermediat praathinidyangal opttimais cheiyunna compilerukalkku vipareethamaayi). vipareethamaayi) portable sii compiler (pcc) aanu atharamoru udaaharanam, athil janarettucheytha assembly codil poost-optimaiseshanukal nadathunna oru oopshanal paas undaayirunnu.
opttimaiseshan algorithangal sankeernavum, prathyekichu valuthum sankeernavumaaya prograaming bhashakal samaharikkaan upayogikkumbol, srishtikkappetta codil pishakukal varuthukayo samahara samayat aantharika pishakukal undaakkukayo cheiyunna bagukal adangiyirikkaam ennathaanu mattoru pariganana. eathenkilum tharatthilulla compiler pishakukal upayokthaavine aswastharaakkiyekkaam, pakshe prathyekichum eee saahacharyathil, opttimaiseshan lojikkil thettaanenn vyakthamallathathinaal. aantharika pishakukalude kaaryatthil, compilerile opttimaiseshan lojik coode cheythirikkunna oru "fail-saphe" prograaming technic vazhi prashnam bhaagikamaayi pariharikkan kazhiyum, athil oru parajayam kudungukayum oru munnariyipp sandesham nalkukayum backie samahaaram vijayakaramaayi poortthiyaakkukayum cheiyunnu.
charithram.
1960 kalile aadyakaala compilerukal palappozhum praadhamikamaayi coode shariyaayo kaaryakshamamaayo samaharikkunnathil shradha kendreekarichirunnu, athinaal compile samayangal oru pradhana aashankayaayirunnu. 1960 kalude avasaanathile ibm fortran echu compiler aayirunnu aadyakaala optimising compiler. niravadhi noothana saankethikavidyakalkku thudakkamitta adyakaalavum pradhaanappettathumaaya optimising compilerukalil mattonn, "optimising compilerinte roopakalppana" (1975) ll vivaricha aanandathinaayullathaayirunnu (1970). (1970) avasaanathode, compilerukal opttimais cheiyunnathu assembly bhaashayile prograaming kurayunnathinu mathiyaya phalapradamaayirunnu. manushyar ezhuthiya assembly kodinekkaal compilerukal opttimais cheythukondu lakshyamidunnathinaayi roopakalppana cheythirikkunna risk chippukaludeyum nirddesha sheduling, oohakkachavada nirvvahanam thudangiya noothana prosessor savisheshathakaludeyum vikasanavumayi ithu sahavikasichu.

