LabVIEW 編譯器深層解析
DFIR分解與優(yōu)化
本文引用地址:http://m.butianyuan.cn/article/113686.htm一旦進(jìn)入DFIR,VI運(yùn)行一系列的分解變換,來(lái)縮減或標(biāo)準(zhǔn)化DFIR圖表。在DFIR圖表徹底分解后,DFIR優(yōu)化掃描開(kāi)始。有超過(guò)30種分解與優(yōu)化能夠提高LabVIEW代碼的性能。請(qǐng)仔細(xì)查看圖2和3顯示的簡(jiǎn)單VI,它被稱為Trim Whitespace VI(Trim Whitespace.vi),來(lái)自vi.lib。
首先,Trim Whitespace.vi被內(nèi)聯(lián)到調(diào)用VI,如圖4所示?,F(xiàn)在,不可達(dá)代碼與死碼刪除運(yùn)算可以簡(jiǎn)化代碼。第一個(gè)條件結(jié)構(gòu)將總是執(zhí)行相同的分支,因?yàn)檩斎氲氖且粋€(gè)恒定值。因此,其余的分支可以同整個(gè)第二個(gè)條件結(jié)構(gòu)一起移走,因?yàn)樗鼈儚牟粓?zhí)行。循環(huán)不變式代碼移動(dòng)將匹配模式基元(Match Pattern primitive)移出循環(huán)框,確保其只被執(zhí)行一次,如圖5所示。
評(píng)論