數(shù)據(jù)流程序中的緩沖區(qū)使用
發(fā)布時間:2014/6/23 20:42:44 訪問次數(shù):1031
在數(shù)據(jù)流模式中用數(shù)據(jù)的吞吐來描述節(jié)點,LabVIEW編譯器如果發(fā)現(xiàn)數(shù)據(jù)輸出可以重用內(nèi)存, SLG8SP533V就不為它單獨開辟新的緩沖區(qū)。例如,圖3-23所示的例子,輸入數(shù)組和輸出數(shù)組含有相同數(shù)量的元素,且兩種數(shù)組的數(shù)據(jù)類型相同,所以編譯器并沒有為輸出數(shù)組創(chuàng)建一個新的緩沖區(qū),而是重復使用了輸入數(shù)組的緩沖區(qū)。這樣做無須在運行時分配內(nèi)存,故節(jié)省了內(nèi)存,執(zhí)行速度也得以提高。
可以通過選擇“工具”一“性能分析”一“顯示緩沖區(qū)分配”命令,彈出“顯示緩沖區(qū)分配”對話框查看內(nèi)存分配情況。
該對話框用于確認LabVIEW為程序框圖的各部分分配內(nèi)存的情況。選擇需要查看其緩存的數(shù)據(jù)類型,單擊“刷新”按鈕。此時程序框圖上將出現(xiàn)一些黑色小方塊,表示LabVIEW在程序框圖上創(chuàng)建的數(shù)據(jù)緩存的位置。一旦確認了LabVIEW緩的位置,即可通過編輯VI以減少運行VI所需的內(nèi)存,優(yōu)化VI運行速度。
在圖3-24所示的例子中,由于索引數(shù)組函數(shù)并沒有修改數(shù)組的數(shù)據(jù),各個數(shù)據(jù)的流向只是讀取原來的數(shù)據(jù),所以LabVIEW并沒有建立數(shù)據(jù)副本。本程序使用4KB的內(nèi)存。
但是也并非在任何時候都可以重用內(nèi)存。例如,在圖3-25的例子中,由于3個替換子數(shù)組函數(shù)修改了原來的數(shù)據(jù),所以只有一個數(shù)據(jù)流向可以使用原來的內(nèi)存,還需要另外建立兩個數(shù)據(jù)副本,因此程序使用12KB內(nèi)存。
在數(shù)據(jù)流模式中用數(shù)據(jù)的吞吐來描述節(jié)點,LabVIEW編譯器如果發(fā)現(xiàn)數(shù)據(jù)輸出可以重用內(nèi)存, SLG8SP533V就不為它單獨開辟新的緩沖區(qū)。例如,圖3-23所示的例子,輸入數(shù)組和輸出數(shù)組含有相同數(shù)量的元素,且兩種數(shù)組的數(shù)據(jù)類型相同,所以編譯器并沒有為輸出數(shù)組創(chuàng)建一個新的緩沖區(qū),而是重復使用了輸入數(shù)組的緩沖區(qū)。這樣做無須在運行時分配內(nèi)存,故節(jié)省了內(nèi)存,執(zhí)行速度也得以提高。
可以通過選擇“工具”一“性能分析”一“顯示緩沖區(qū)分配”命令,彈出“顯示緩沖區(qū)分配”對話框查看內(nèi)存分配情況。
該對話框用于確認LabVIEW為程序框圖的各部分分配內(nèi)存的情況。選擇需要查看其緩存的數(shù)據(jù)類型,單擊“刷新”按鈕。此時程序框圖上將出現(xiàn)一些黑色小方塊,表示LabVIEW在程序框圖上創(chuàng)建的數(shù)據(jù)緩存的位置。一旦確認了LabVIEW緩的位置,即可通過編輯VI以減少運行VI所需的內(nèi)存,優(yōu)化VI運行速度。
在圖3-24所示的例子中,由于索引數(shù)組函數(shù)并沒有修改數(shù)組的數(shù)據(jù),各個數(shù)據(jù)的流向只是讀取原來的數(shù)據(jù),所以LabVIEW并沒有建立數(shù)據(jù)副本。本程序使用4KB的內(nèi)存。
但是也并非在任何時候都可以重用內(nèi)存。例如,在圖3-25的例子中,由于3個替換子數(shù)組函數(shù)修改了原來的數(shù)據(jù),所以只有一個數(shù)據(jù)流向可以使用原來的內(nèi)存,還需要另外建立兩個數(shù)據(jù)副本,因此程序使用12KB內(nèi)存。
上一篇:合理使用內(nèi)存的一般原則
熱門點擊
- DC/DC開關電源設計
- 助焊劑浸潤區(qū)(快速升溫區(qū))
- 水清洗和半水清洗的清洗過程
- C語言編譯器給8051各個中斷各賦予一個序號
- 定時/計數(shù)器工作方式3的等效
- 掉電方式
- 數(shù)據(jù)流程序中的緩沖區(qū)使用
- 拖焊法
- 手冊編寫
- 優(yōu)化再流焊工藝
推薦技術資料
- Seeed Studio
- Seeed Studio紿我們的印象總是和繪畫脫離不了... [詳細]