【问题标题】:Matlab GUI : Efficient of global variable Vs handlesMatlab GUI:全局变量与句柄的效率
【发布时间】:2014-10-27 16:17:03
【问题描述】:

通过全局变量在函数之间传递数据是否比在 Matlab GUI 中处理结构更有效?

谢谢, 迈里克

【问题讨论】:

    标签: matlab global-variables matlab-guide processing-efficiency handles


    【解决方案1】:

    主要看你想做什么。

    我的意思是我通常会为原型设计使用全局变量,(出于安全和性能原因,将所有变量设置为全局变量是不好的做法)。

    但是,当通过处理程序传递变量时,这是一个你真正应该学习的好习惯,因为它不仅能让你更好地了解你正在传递的数据,而且迫使你进入良好的编码实践,以帮助调试和未来您可以在当前工作上扩展的工作。

    (这更像是一个建议,但如果您设置全局变量,它可能会在调试代码时造成噩梦)。

    【讨论】:

      【解决方案2】:

      根据您的数据量,您可能会看到速度方面的差异。

      主要原因是(如果我错了,请纠正我):

      • 句柄结构始终是副本(按值调用)->大数据->低速;此外,必须重新分配更改;全局变量通过引用调用

      当然,维护包含许多全局变量的代码会变得更加复杂。如果有人有时间:创建一个简单的性能测试,将两个变体与不同大小的数据进行比较:)

      【讨论】:

        【解决方案3】:

        为了补充 Pariah 和 Lucius 的答案,如果您打算将 GUI 部署为独立应用程序,您可能会发现使用全局/持久变量是个坏主意。

        您当然可以使用一些变通方法,但正如 Pariah 所提到的,限制使用全局变量是一种很好的做法,尽管它们高度简化了代码开发。

        【讨论】:

          猜你喜欢
          • 2013-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-05
          • 2015-09-26
          • 1970-01-01
          • 2012-05-18
          • 1970-01-01
          相关资源
          最近更新 更多