我在考虑更多我的程序现在将使用多少系统内存。我目前在大学做一级计算,我知道在大多数程序中,差异可以忽略不计,但我想知道下列实际上是否在任何语言中都有所不同。If语句中的内存效率
说我想输出“真”或“假”取决于条件是否为真。就个人而言,我更愿意做这样的事情:
Dim result As String
If condition Then
Result = "True"
Else
Result = "False"
EndIf
Console.WriteLine(result)
不过,我想知道,如果下面将消耗更少的内存,等:
If condition Then
Console.WriteLine("True")
Else
Console.WriteLine("False")
EndIf
显然,这是一个很大大简化例子,在我的大多数情况下,还有更多需要输出的信息,而且我意识到在大多数商业程序中,这类陈述很少见,但希望你能得到原则。
我在这里关注VB.NET,因为这是用于该课程的语言,但真的我很想知道这在不同的编程语言中有何不同。
正如dasblinkenlight所说,除非在特定情况下(高内存要求复杂系统),否则内存现在不是问题。无论如何,你应该把你的记忆力最大化的努力集中在其他方面,这可能会得到更多的关注效果。中间变量的声明(这里的“结果”)几乎没有任何影响(你正在实例化给定类,字符串;在写第二个代码的时候也是“True”/“False”)。有些人倾向于将代码的长度与实际的性能/内存利用率等联系起来,这两种情况都没有关系... – varocarbas
...打算优化代码的编写方式(并且构建程序以使内存开销为尽可能低)毫无疑问是一件好事,但你应该把重点放在真正重要的事情上(做一些关于高度记忆消耗实践的研究),并且有一个想法很明确:从代码的大小你不能获得任何有价值的信息;做一些研究或者实施一种确定内存消耗的方法,如果你想知道每一点“昂贵”是多少。 – varocarbas
@varocarbas感谢您的意见。我看到你的观点,我认为这将是关于声明中间变量的情况......我知道示例代码的大小意味着没有什么是真正相关的,但是它只是将我想要问的概念。 – Andy