下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
LabVIEW程序的內(nèi)存優(yōu)化2-子VI的優(yōu)化1.子VI參數(shù)的緩存重用數(shù)據(jù)在子VI間傳入傳出,如果程序設(shè)計的好,可以做到緩存重用,使得數(shù)據(jù)在主VI和子VI中都不發(fā)生拷貝,提高程序的效率。我們先來看一下圖1所示的VI。打開Tool>>Profile>>ShowBufferAllocations工具查看一下這個VI中內(nèi)存分配的情況,會發(fā)現(xiàn)在代碼的加法函數(shù)處有一個黑點。這個黑點說明程序在這里有分配了一塊內(nèi)存,這個內(nèi)存是用來存儲加法運算結(jié)果的。s圖1:控件不與接線器相連時,加法處有內(nèi)存分配為什么加法函數(shù)在這里不做緩存重用呢?利用其中一個加數(shù)的內(nèi)存空間來保存計算結(jié)果。當這個VI運行的時候,圖2中,加數(shù)Numeric的數(shù)據(jù)是由VI前面板的控件提供的。如果用戶不修改控件的值,每次VI運行,這個數(shù)值應該是保持不變的。如果加法函數(shù)在這里做緩存重用,加數(shù)或者說它對應的控件中的數(shù)據(jù),就會在加法運算執(zhí)行后被修改。這樣程序就會出現(xiàn)邏輯上的錯誤。所以把一個這樣的控件聯(lián)在LabVIEW的運算節(jié)點上,運算節(jié)點是不能重用控件的數(shù)據(jù)內(nèi)存的。同樣的道理,鏈接一個常量到運算節(jié)點上,節(jié)點同樣不能做緩存重用。在子VI中,沒有連到接線器上的輸入控件就相當與一個常量。但是,如果我們讓VI上的控件與VI的接線器(ConnectorPane)相連,情況就不一樣了。如圖2所示,把三個控件連到接線器上,程序中加法節(jié)點上那個黑點就消失了,不再為運算結(jié)果分配新的內(nèi)存。圖2:控件不與接線器相連時,加法處有內(nèi)存分配這是因為,當輸入控件與接線器連接后,LabVIEW就認為這個輸入值應當是由子VI的調(diào)用者(父VI)提供的:連到接線器上,邏輯上,這個輸入控件就不再是常量,而是一個輸入變量了。既然是輸入變量,子VI不需要記住輸入的數(shù)據(jù)供下次調(diào)用時使用,因此可以把新產(chǎn)生的數(shù)據(jù)放在輸入?yún)?shù)所在的內(nèi)存,做到緩存重用。你可能在想,這個輸入?yún)?shù)的內(nèi)存不一定可以被修改吧,萬一它的數(shù)據(jù)還要在父VI中被其它節(jié)點使用呢?子VI是不需要考慮這點的,輸入數(shù)據(jù)的數(shù)據(jù)被修改肯定是安全的,這一點是由父VI來保證的。如果輸入數(shù)據(jù)不能被修改,父VI會把傳入的數(shù)據(jù)拷貝一份再傳到子VI中去。比如圖3中的程序,它所調(diào)用的子VI就是圖2中那個VI。由于與它的第一個輸入?yún)?shù)相連的是一個常量,而常量的值是不能被改變的。所以LabVIEW要把這個常量的值復制一份,再傳到子VI中去,以保證子VI中的運算節(jié)點可以做緩存重用。殼自圖3儉:父炮V臨I嘆中的討數(shù)據(jù)翅拷貝肚爐如果草圖3脹中的斜父妄VI誘,他脾也使奴用與雅接線榨器相由連的特輸入施控件垃為子愚V壩I詢提供灑輸入蠅參數(shù)揚,則早L仁ab錄VI倉EW恰會冊知道頭,父帖V娛I草的這片個數(shù)罪據(jù)是泉由再多上一之層棒VI慮跪提供許的,掉這里館也不早需要月做數(shù)題據(jù)拷鋤貝。跌這樣適,這煌個宋VI判就記也做漆到了伙緩存糕重用墊。設(shè)視計合杏理,戴參數(shù)鴨在傳版遞多克個深怒度后私都不慨需要睛開辟遙新內(nèi)沿存的之。速值從上移面的穿說明丈中,希還可帝以發(fā)硬現(xiàn)一折個問奴題。植就是念,有抱時候叔子芒VI潔的縮改動圓,會繩影響漿父效VI拳的盟行為衰,比劈如是宴否為答傳入蔑子盈VI恰的絡(luò)數(shù)據(jù)家做個鞏拷貝喇等等騰。有消時候勒我們縫發(fā)現(xiàn)斧改動柄了一害個子婚V賄I,露它的乞父濁VI隱也伸需要店重新掌保存貌,就氧是由悟這個塑原因悶引起螞的。醫(yī)2.周輸倉入輸嚼出參摟數(shù)的鈔排布頁撓在子煎V叫I戰(zhàn)的程功序框曬圖上動,不中論代尸碼有分多復白雜,架有多恭少嵌蒼套的捉結(jié)構(gòu)倆,控調(diào)件終秀端最蹈好按瀉照這釋樣的芽方式殿排布兼:所良有輸嬌入?yún)⒌?shù)(斑控制蒸型控年件的引終端秀)都需放在姑代碼浸的最說左端變排成提一列者;所某有的遣輸出望參數(shù)盼(顯宣示型叛控件優(yōu)的終躺端)散都放夢在代藝碼。刑比如黎圖4場中的例代碼駱的風犯格就挑比較思好。圍衰圖4遣:控酬件終沿端整孝齊的鮮排列伙在程摩序框灘圖左霧右兩荒端蒼樹這首途先是現(xiàn)為了片保證裳程序伯有良弟好的松可讀童性。腿我們睜在閱失讀汪La么bV裳IE興W刮代碼土的時死候總浙是按絲照從堤左到波右的扯順序萌,所傘有的億參數(shù)剖都排直布在雀一起賢,我幼們就踩可以掘以數(shù)棕據(jù)線億為線駱索,魯輕易鐘的找蝴的數(shù)閱據(jù)被裝讀寫成的地凡方。血其次敗,這登種風姓格的贈V塑I,務在效擊率上歪也比背較優(yōu)?;?。掌邁對于腰一個純輸入棉參數(shù)煌(控煙制型串控件滲的終暢端)壤,如暖果把威它放性程序霧代碼卷的最擱左側(cè)生,所偵有結(jié)標構(gòu)的炭外面御,程警序在躍運行刮這個眠子V槽I之陷前,驗就可誕以得直到這耕個參郊數(shù)的崇確切碼值了狡。紋寺但是宗,如員果這年個終儉端是擊在代丘碼的吩某個號結(jié)構(gòu)丑中的靠,在璃某一啊結(jié)構(gòu)線的內(nèi)給部,結(jié)那么輔La塘bV枕IE蝶W必逐須在紋運行切到這發(fā)一結(jié)巡構(gòu)內(nèi)綠部的躺時候振,才意可以爹去讀架這個己參數(shù)黃的值囑,否打則可笑能會兵引起舅邏輯菊上的內(nèi)錯誤先。比仿如說昆,一宿個控封制型撈控件匆的終墨端是借在一帖個循嘉環(huán)的婦內(nèi)部訊,開號始時肚它的污值是比x。食在運仁行到農(nóng)第n主次循吳環(huán)之怖前,型這個程終端盲對應蝦的前雪面板昏上的劉控件嗽被人秤改為認一個揮新的仁數(shù)值榆y。修那么末邏輯倦上,呀在執(zhí)影行第未n次稅循環(huán)純之前擊,每垂次用怪到這合個參害數(shù)時標,它晴的值衣要保侮持為慚x,哪而在尋第n廳次循塌環(huán)的集時候以,又筒要使六用它云的新駕值y懇。這鏡樣的盞數(shù)據(jù)閣所在吹的內(nèi)鮮存,站La然bV控IE恰W譜顯然桃是不珍能將垮其重宏用的脆,否柿則下窮次循窯環(huán)再怕讀它鉆的時逐候,逗數(shù)據(jù)徐就不薪正確完了。甘匆如果盞這個舒終端率是在蟲所有午結(jié)構(gòu)乘之外踏,L罰ab呢VI費EW毅則案可以牧根據(jù)解數(shù)據(jù)捧線的毛鏈接構(gòu),明高確的說判斷腸出在貫某一急節(jié)點他執(zhí)行房完之拒后,圍程序素再也辛不需軍要用債到這感個參方數(shù)的身值了滿,那品么羞La扁bV修IE計W朝就可果以重衰用它斗所在票的內(nèi)汗存,游以避桶免開異辟新趕內(nèi)存爪,拷您貝數(shù)勢據(jù)等巖操作直。這瓣樣就公提高輕了程悶序的旅內(nèi)存瓜效率狗。團嫂對于光一個殼輸出背參數(shù)班(顯辨示型塘控件材的終藏端)值,如往果它鄙位于燦某個懲條件縮結(jié)構(gòu)陰的內(nèi)仁部,榴La位bV狐IE州W楊就要莊考慮還,程戲序有杰可能撒執(zhí)行肚不到驗這個撲條件進。L題ab抱VI野EW亂就武會多叨添加晃一些潔代碼哥來處膝理這食種情件況,詢當村VI只沒好有運宣行到賊這個提條件息時,繭要給胳輸出沈參數(shù)摸準備汁一個柳默認紗值。怕掙把這申個終夏端移撿到所繭有結(jié)建構(gòu)之貫外,和就可催以省驕去這稱部分抱L損ab拍VI穩(wěn)EW吳自警動添錘加上禁去的較工作杯和,仙稍微賀提高助一點娘效率德:)咬3.陶良哥好的限數(shù)據(jù)升流結(jié)肢構(gòu)可止以優(yōu)已化程麻序內(nèi)援存效熟率臂居先看把一個鉛程序訓:枝疊圖5櫻:程流序中忘沒有撇必要辦的數(shù)側(cè)據(jù)線膚分枝班蕉圖5識的擁程序鄰只是拔一個暫演示訊,不故必追春究它靜到底鳳實現(xiàn)腳了什歡么功廣能。嬌圖中糞的左凡半部酷分是夸主脆VI姿,在向這個油V遍I范中對斃輸入探的數(shù)砌組數(shù)千據(jù)A井rr鑰ay蔽進行玩了兩醒次操伸作:域一次猴使用御s紛ub協(xié)VI染“M井y攻Se安ar要ch魔”運;另緒一次蔥使用業(yè)了數(shù)賽組排竟序函吊數(shù)。冶圖5惱的違右半邀部分吸是代su脂bV顆I“畜My星S涉ea務rc貿(mào)h”悉的程怖序框攪圖。戰(zhàn)若需要臭注意森的是辱,主刷V語I幼上潤So冊rt概1歲D刻Ar盡ra設(shè)y酒函數(shù)嚼那里叢有個扒黑點魄(這神個黑鈴店靠繁近黃僵色方銜塊的繪中心顏,這脹里看抵不太餡清楚嫁,和嚷圖6壁對比軋一下智,就暮可以存發(fā)現(xiàn)折了)蜜,說搬明這稱里做京了一灶次內(nèi)叢存分蓋配。觀這是虛因為踏Ar淚ra墾y的南數(shù)據(jù)林被同柱時傳帳遞到騎了“況My圍S敢ea三rc澆h”庫和“優(yōu)So貿(mào)rt慢1軍D唉Ar腎ra立y”肉兩個鴨節(jié)點她進行荒處理始。這送兩個充操作驅(qū)可能毀會同李時進偶行,盤La瓜bV呀IE祖W渡為了展安全冬(兩哨個操柜作對莊數(shù)據(jù)稿的改彎動不林能相談互影季響,金不能噴同時堂對一創(chuàng)塊內(nèi)撥存進柿行讀舞寫)最,就觀必須震為這念兩個共節(jié)點駝準備予兩份栗數(shù)據(jù)滴在兩來份內(nèi)續(xù)存中們。所談以在粱“M家y題Se壩ar民ch瘋”和刊“S況or煎t具1D娃A格rr耽ay楚”兩根個節(jié)喜點中足,如場果一顫個節(jié)鵝點用飾了原爆來A辟rr信ay烏的內(nèi)森存,傾另一襪個節(jié)稱點就布需要現(xiàn)拷貝世一份磁數(shù)據(jù)吵給自杏己用潛。玻久不過擺,如鈴果看至一下絕“M清y高Se鵲ar肝ch凝”的鞭程序失框圖剝,它何其實紀沒有旬對A降rr條ay祥數(shù)據(jù)賄進行悄任何蓄改動劃,主涌VI臥完全慢沒有劈比要穿給“裕So約rt軋1剩D百Ar湖ra通y”秩開辟得一塊嘩新內(nèi)投存。隙我們硬只要培對程嫂序稍能作改它動,散就可螞以對至此進糠行優(yōu)鄉(xiāng)化。卻圖6船是限改進咸后的肝程序培:惱傘圖6拼:符慶合數(shù)王據(jù)流烘風格債的主披VI歪再在改籃進后勸的程閉序中練,A寄rr若ay男數(shù)跳據(jù)首嫌先傳蓬入s鑼ub性VI泊“M考y閘Se凍ar叫ch什”,駝然后源又傳施出來微,繼里續(xù)傳近給“晶So很rt奏1補D終Ar晝ra云y”早函數(shù)軍。這吐樣子宗看上懂去好曲像數(shù)均據(jù)要喂多到押子V石I中財轉(zhuǎn)一壤圈,趣但實禿際上愧,由燥于子邊VI續(xù)中A扇rr榮ay年輸入涉輸出消是緩飯存重飽用的巨,實擇際上煙相當姥于只煙是把拖數(shù)組權(quán)數(shù)據(jù)慎的引鎖用傳成給了吼子V凈I,豆效率份是相嫩當高惱的。訪而在另主孩VI喊中冶,執(zhí)迎行“烈So擠rt孔1叫D筍Ar絕ra榮y”尊時,冶La挺bV竊IE酒W西知道禾輸入隆數(shù)據(jù)瓣現(xiàn)在淺是這般個節(jié)勻點專床用的坑,改編了他灶也是勿安全如的,質(zhì)于是芬也可嫁以緩繳存重竭用。樂圖六儲中,父“S份or宜t沿1D退A訂rr趟ay衣”上妄的那犬個小螺黑點洲就消揮失了春。秒驢圖6診中鞭的主挑V石I,嚇它的蛙優(yōu)點休首先腰是符佳合數(shù)嗽據(jù)流擋的風竭格。爪一個閉主要摧的數(shù)穩(wěn)據(jù)從毒左到忽右,截流經(jīng)問每個由節(jié)點購。這寇樣的寧程序公非常賀容易旁閱讀自和理位解。葬La竟bV啟IE栽W霧也更百容易續(xù)對這簽樣的各代碼餡進行讓優(yōu)化雀,所翼以這仇樣風賤格的繼程序牽通常村效率慎也比機較高膽。凈尊有的閑時候得,利倒用色La脊bV圓IE殲W牧的自兔動多崇線程航特性壁,書糾寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省南昌市2025-2026學年上學期期末八年級數(shù)學試卷(含答案)
- 文綜試卷及答案
- 微積分試題及答案
- 地產(chǎn)委托物業(yè)前期介入相關(guān)工作作業(yè)指導書
- 腹腔鏡培訓班理論考試試題
- 達人介紹教學
- 一年級數(shù)學上冊期中試卷及答案真題(三套)
- 解析卷-滬粵版八年級物理上冊第四章物質(zhì)的形態(tài)及其變化章節(jié)測評試卷(含答案詳解版)
- 大壩混凝土施工技術(shù)操作要領(lǐng)
- 2026屆北京市石景山區(qū)高三上學期期末考試歷史試題(含答案)
- DB50∕T 1604-2024 地質(zhì)災害防治邊坡工程結(jié)構(gòu)可靠性設(shè)計規(guī)范
- 非現(xiàn)場執(zhí)法培訓課件
- 中國電氣裝備資產(chǎn)管理有限公司招聘筆試題庫2025
- 糖尿病足的護理常規(guī)講課件
- 2025年高考英語復習難題速遞之語法填空(2025年4月)
- 2025外籍工作人員勞動合同范本
- 退化林地生態(tài)修復-深度研究
- 湖北省武漢市江岸區(qū)2024-2025學年九年級上學期期末數(shù)學試題(原卷版+解析版)
- 2025年《新課程標準解讀》標準課件
- 2024-2025學年同步試題 語文(統(tǒng)編版選擇性必修中冊)8.2小二黑結(jié)婚
- 2024年1月國家開放大學漢語言本科《古代小說戲曲專題》期末紙質(zhì)考試試題及答案
評論
0/150
提交評論