Підтримка
www.wikidata.uk-ua.nina.az
V teoriyi kompilyatoriv vi dalennyam me rtvogo ko du angl dead code elimination DCE nazivayut optimizaciyu za yakoyi vidalyayetsya mertvij kod Me rtvim ko dom abo ma rnim ko dom nazivayut kod vikonannya yakogo ne vplivaye na vivid programi vsi rezultati obchislennya takogo kodu ye en tobto zminnimi znachennya yakih nadali v programi ne vikoristovuyutsya Cherez isnuvannya riznochitan termina mertvij kod vazhlivo vidznachiti sho optimizaciya vidalennya mertvogo kodu ne zajmayetsya vidalennyam nedosyazhnogo kodu Lokalizaciyeyu i vidalennyam nedosyazhnogo kodu mozhut zajmatisya pribiralnik abo inshi optimizaciyi napriklad vidalennya nedosyazhnogo kodu Vidalennya nepotribnogo kodu zdatne priskoriti robotu programi zavdyaki zmenshennyu kilkosti vikonuvanih u nij operacij i zmenshiti obsyag programi abo en PrikladiRozglyanemo takij kod movoyu Si int foo void int a 24 int b b a 3 Marnij kod return a lt lt 2 U comu prikladi operaciya dodavannya b a 3 ye mertvim kodom oskilki zminna b ne vikoristovuyetsya v podalshih obchislennyah a otzhe ye mertvoyu pochinayuchi z ciyeyi tochki i zakinchuyuchi kincem proceduri Pislya vidalennya ciyeyi instrukciyi otrimayemo int foo void int a 24 int b Mertva zminna return a lt lt 2 Pislya vidalennya operaciyi dodavannya zminna b staye mertvoyu u vsij proceduri Oskilki yiyi ogolosheno lokalno to yiyi mozhna povnistyu vidaliti z programi int foo void int a 24 return a lt lt 2 Popri te sho obchislennya vidbuvayetsya vseredini funkciyi jogo rezultat zapisuyetsya v zminnu yaka perebuvaye v oblasti vidimosti tilki ciyeyi funkciyi yaksho vrahuvati sho funkciya bezumovno povertaye chislo 96 yiyi mozhna sprostiti optimizaciyeyu tak shob yiyi tilo skladalosya tilki z operaciyi return 96 A potim kompilyator zmozhe zaminiti vsi vikliki ciyeyi funkciyi znachennyam yake vona povertaye AlgoritmiKlasichnij algoritm DCE Dead pracyuye na i skladayetsya z dvoh obhodiv pershij obhid Mark poznachaye markuye vsi napevne zhivi operaciyi operaciyi vihodu z proceduri vvedennya vivedennya sho zminyuyut globalni zminni drugij obhid Sweep pochinayetsya z zhivih operacij i jde vgoru po viznachennyah argumentiv poznachayuchi vsi operaciyi na svoyemu shlyahu zhivimi zakinchuyuchi timi operaciyami yaki ne mayut poperednikiv u SSA podanni Maksimalna obchislyuvalna skladnist takogo algoritmu zalezhit vid rozmiru programi yak O n2 DCE mozhe ne provoditi niyakogo samostijnogo analizu a prosto skoristatisya rezultatami en ale obchislyuvalna skladnist takogo analizu stanovit u girshomu vipadku O n3 Isnuyut specifichni algoritmi yaki vidalyayut porozhni vuzli v grafi potoku keruvannya ob yednuyut dekilka bazovih blokiv v odin tosho ale dlya takogo analizu potriben pobudovanij graf potoku keruvannya Algoritm Dead vpershe opublikovano v statti Static Single Assignment Form and the Program Dependence Graph v zhurnali en 1991 roku Algoritm Clean sho pracyuye z grafom potoku keruvannya rozrobiv i realizuvav Rob Shiller 1992 roku ZastosuvannyaVidalennya mertvogo kodu mozhe v procesi kompilyaciyi zastosovuvatisya kilka raziv oskilki mertvij kod mozhe ne tilki isnuvati v programi vid pochatku ale j z yavlyatisya pislya deyakih peretvoren kodu programi Napriklad optimizaciyi en i chasto peretvoryuyut instrukciyi v marnij kod Takozh dovoditsya vidalyati mertvij kod stvorenij inshimi peretvorennyami v kompilyatori Napriklad klasichnij algoritm optimizaciyi zamishaye trudomistki operaciyi mensh trudomistkimi pislya chogo vidalennya mertvogo kodu usuvaye stari operaciyi i zavershuye peretvorennya bez uskladnennya algoritmu znizhennya vartosti Cikavi faktiU listopadi 2010 roku Microsoft vipustila novu versiyu Internet Explorer 9 Platform Preview 7 yaka za shvidkistyu interpretaciyi JavaScript na benchmarku SunSpider 20 sichnya 2022 u Wayback Machine perevershila vsi inshi brauzeri V oficijnomu blozi Internet Explorer lider proyektu en zayaviv sho odnim iz novovveden relizu ye vikoristannya optimizaciyi vidalennya mertvogo kodu zavdyaki chomu j dosyagnuto takogo rezultatu Odnak nezabarom z yasuvalosya sho neznachni zmini u sircevomu kodi benchmarka viklikali istotne padinnya produktivnosti Internet Explorer 9 chogo ne vidbuvalosya pri testuvanni Google Chrome abo Opera Cherez ce na adresu rozrobnikiv Internet Explorer posipalisya zvinuvachennya v pidgonci produktu pid konkretnij benchmark Div takozhMertvij kod Nedosyazhnij kod Vidalennya nedosyazhnogo koduPrimitkiKompilyatory principy tehnologii instrumenty S 713 714 Engineering a Compiler S 544 Dead code detection and removal Aivosto Arhiv originalu za 5 serpnya 2012 Procitovano 14 lipnya 2012 smeshivanie ponyatij myortvogo i nedostizhimogo kodov Kompilyatory principy tehnologii instrumenty S 669 nedostizhimyj kod 713 myortvyj kod A Yu Drozdov A M Stepanenkov Upravlyaemye pakety optimizacij V Informacionnye tehnologii i vychislitelnye sistemy 2004 3 tekst 2016 03 04 u Wayback Machine Engineering a Compiler S 544 546 Jan Olaf Blech Lars Gesellensetter Sabine Glesner Formal Verification of Dead Code Elimination in Isabelle HOL sentyabr 2005 tekst Advanced Compiler Design and Implementation S 443 Engineering a Compiler S 547 550 Ron Cytron Jeanne Ferrante Barry Rosen and Ken Zadeck Efficiently Computing Static Single Assignment Form and the Program Dependence Graph en 13 4 1991 tekst Engineering a Compiler S 593 Advanced compiler design and implementation S 13 327 603 Frances Allen John Cocke and Ken Kennedy Reduction of Operator Strength V Program Flow Analysis Theory amp Application Muchnick and Jones Prentice Hall 1981 Browser debate Did Microsoft cheat The H Arhiv originalu za 25 chervnya 2012 Procitovano 12 chervnya 2012 Lies damned lies and benchmarks is IE9 cheating at SunSpider Ars Technica Arhiv originalu za 25 chervnya 2012 Procitovano 3 grudnya 2017 Literatura en and Torczon Engineering a Compiler Morgan Kaufmann 2011 S 544 550 593 ISBN 978 0 12 088478 0 Aho Alfred V Seti Ravi Ulman Dzheffri D Kompilyatory principy tehnologii instrumenty Vilyams 2003 S 713 714 733 734 ISBN 5 8459 0189 8 en Advanced Compiler Design and Implementation 1997 S 592 597 ISBN 1 55860 320 4 PosilannyaHow to trick C C compilers into generating terrible code, Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Топ