private 和 public 访问修饰符对性能有影响吗?
is that private and public access modifier make difference in performance?
我认为我们必须在成员变量上使用正确的修饰符才能实现模块化,但对 Class 成员的访问修饰符对应用程序性能的影响很好奇。
如果我的程序很小,那么如果我使用所有成员变量呢public?
在 C++ 中,访问修饰符对应用程序的性能没有影响,这完全取决于 access/visibility。它们只是编译时的概念,没有 运行 时间组件或检查。
在 C++ 和 Java 中,修饰符本身并不直接影响性能:它在编译阶段存在以强制分离关注点,但在编译的(对象)中没有修饰符的踪迹代码。但是,使用访问器和修改器函数来引用成员变量在理论上会造成一些轻微的性能损失。即使那样,在 C++ 中,这些调用也可以由编译器内联,从而完全消除损失。 @Peter Lawrey 在评论中提到类似的优化可用于 Java.
因此,使用任何导致更简洁设计的东西,因为任何性能影响都是有争议的。
Java严重无效!
效率是朋友和同事之间的常谈,但最终我们都试图以错误的方式最大限度地提高效率......
有效编码的大多数问题是很多行代码(你不想看到有多少......)和不必要循环中的逻辑错误(不是最终循环但不必要的,尽管如此......让我们说......频繁的检查器例如可以否则会被其他事件调用)
大家都去过你所在的地方!
但是你不会在那里找到太多东西;p
我认为我们必须在成员变量上使用正确的修饰符才能实现模块化,但对 Class 成员的访问修饰符对应用程序性能的影响很好奇。
如果我的程序很小,那么如果我使用所有成员变量呢public?
在 C++ 中,访问修饰符对应用程序的性能没有影响,这完全取决于 access/visibility。它们只是编译时的概念,没有 运行 时间组件或检查。
在 C++ 和 Java 中,修饰符本身并不直接影响性能:它在编译阶段存在以强制分离关注点,但在编译的(对象)中没有修饰符的踪迹代码。但是,使用访问器和修改器函数来引用成员变量在理论上会造成一些轻微的性能损失。即使那样,在 C++ 中,这些调用也可以由编译器内联,从而完全消除损失。 @Peter Lawrey 在评论中提到类似的优化可用于 Java.
因此,使用任何导致更简洁设计的东西,因为任何性能影响都是有争议的。
Java严重无效! 效率是朋友和同事之间的常谈,但最终我们都试图以错误的方式最大限度地提高效率...... 有效编码的大多数问题是很多行代码(你不想看到有多少......)和不必要循环中的逻辑错误(不是最终循环但不必要的,尽管如此......让我们说......频繁的检查器例如可以否则会被其他事件调用)
大家都去过你所在的地方! 但是你不会在那里找到太多东西;p