新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > labview深入探索----局部變量,屬性節點和數據流的性能比較

        labview深入探索----局部變量,屬性節點和數據流的性能比較

        作者: 時間:2017-01-09 來源:網絡 收藏




        在第三個框圖中,最初我用的是和上兩個框圖同樣的運行次數,等的10幾分鐘都無法自行完畢,沒辦法運行次數降至原來的1/1000,那實際運行時間應該是4091MS*1000,居然需要一個多小時.

        在三個框圖中,始終保持控制器的值不便,避免了控件更新最速度造成的影響.

        可以看出,LV倡導的數據流的速度是最快的,局部變量略低一些,而屬性節點對速度的影響已經是不能不考慮的事情了.

        屬性節點對程序效率的影響為何如此驚人那,基于WINDOWS操作系統的考慮,任何涉及到界面操作操作的都是基于WINDOWS消息隊列的,屬性節點的操作應該是通過控件類,是屬于界面接口線程的


        可見,寫屬性節點耗費的時間是讀屬性節點的100多倍.

        通過以上的比較,如果不是必要的話,盡量不要通過屬性節點來傳遞數據,對于一個不顯示的子VI,更是如此,任何涉及到屬性節點的操作都會導致前面板載入內存,不但增加了內存的使用量,也同時引起的速度的急劇下降.

        所以,在編程中一下幾點是需要注意的:

        1.在不需要顯示的子VI中一定不要使用屬性節點,需要數據傳遞,如果數據流無法實現,采用局部變量是比較好的選擇.

        2.對于需要顯示的主界面,不要在循環中重復調用屬性節點,可采用事件結構或者狀態機方式,或者用上升下降沿來判斷,保證一次性更改,一定要避免重復調用.

        3.局部變量雖然用增加內存復制的問題,但是對不涉及很大的比如數組結構,可以不避考慮,至于數據競爭的問題,可以在編程中仔細考慮避免,在很多書籍中都提到了要盡量避免使用局部變量,通常給的例子都是如何用局部變量來結束兩個并行循環,如果只需要實現這樣的功能,LV根本就必要提供局部變量這種方便的編程方式了.


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 武隆县| 闽清县| 隆子县| 三门县| 赣榆县| 武义县| 镇远县| 元氏县| 正阳县| 昌邑市| 宜春市| 合川市| 甘孜县| 盐边县| 错那县| 林州市| 涡阳县| 北京市| 邛崃市| 峡江县| 阿鲁科尔沁旗| 大悟县| 灌南县| 天祝| 永州市| 文水县| 米易县| 古交市| 武定县| 秦皇岛市| 长白| 溧阳市| 古丈县| 宜君县| 松原市| 邳州市| 濮阳市| 漳平市| 孟州市| 栖霞市| 十堰市|