何时考虑java中的代码效率?
这些天,我在学校学习不同的Java代码效率(big-O)。 我不禁想知道,什么时候在真实世界编程中考虑代码效率。 这是程序员在PDL/Pseudo阶段考虑的问题吗? 或者就在你写代码的时候 我很感激你的想法 请注意,下面的内容相当笼统,因为这个问题非常基本 在现实世界中,程序员往往在设计阶段关注效率,通常在以下情况下:何时考虑java中的代码效率?,java,algorithm,performance,functional-programming,big-o,Java,Algorithm,Performance,Functional Programming,Big O,这些天,我在学校学习不同的Java代码效率(big-O)。 我不禁想知道,什么时候在真实世界编程中考虑代码效率。 这是程序员在PDL/Pseudo阶段考虑的问题吗? 或者就在你写代码的时候 我很感激你的想法 请注意,下面的内容相当笼统,因为这个问题非常基本 在现实世界中,程序员往往在设计阶段关注效率,通常在以下情况下: 他们正在解决的问题是时间关键性的(例如:视频渲染和图像处理) 他们正在处理的数据量太大(例如:分析来自提要的数十亿个字符串) 除此之外,他们大多使用现成的方法和设计原则 在某
- 他们正在解决的问题是时间关键性的(例如:视频渲染和图像处理)
- 他们正在处理的数据量太大(例如:分析来自提要的数十亿个字符串)
- 他们正在解决的问题是时间关键性的(例如:视频渲染和图像处理)
- 他们正在处理的数据量太大(例如:分析来自提要的数十亿个字符串)
因此,需要在时间投资、复杂性和优化之间取得平衡。要了解更多信息,请阅读。如果您在PDL阶段可以看到,对于非常大的n,复杂性将是O(2^n),甚至是O(n^2),那么您会再想一想,但即使如此,您也可能会对这些位进行原型化,以了解会发生什么
通常情况下,你会先把事情做好,因为在它正确之前,你无法真正判断它的速度有多快,然后你会使用探查器(例如,对于一个非常简单的例子)查看它实际在哪里消耗cpu,然后专注于这些位。如果你能在PDL阶段看到复杂性将是O(2^n)甚至O(n^2)对于非常大的n,你们会再想一想,但即使这样,你们也可以对这些比特进行原型化,看看会发生什么
通常情况下,你会先把事情做好,因为在它正确之前,你无法真正判断它的速度有多快,然后你会使用探查器(例如,对于一个非常简单的例子)查看它实际在哪里消耗cpu,然后专注于这些位。大O表示法是表示算法效率的一种很好的方法,但是,在企业系统中处理代码时,事情通常会变得更加复杂。从长远来看,系统的整体架构以及它所运行的基础设施可能会产生更大的影响(而且修复成本也更高),因为它们是错误的
当工程师使用性能分析器和其他工具识别出瓶颈,并希望在瓶颈所在的领域实现更高效的算法时,他们肯定会考虑(或考虑)大O表示法。大O表示法是表示算法效率的一种很好的方法,但是,在企业系统中处理代码时,事情通常会变得更加复杂。从长远来看,系统的整体架构以及它所运行的基础设施可能会产生更大的影响(而且修复成本也更高),因为它们是错误的
当工程师使用性能分析器和其他工具识别出瓶颈,并希望在瓶颈所在的领域实现更高效的算法时,他们肯定会考虑(或考虑)大O符号。我使用它在集合之间进行选择。剩下的时间我度量.StackOverflow是关于编程问题的问题。试着交换。只有在重要的时候。(令人惊讶的是)通常不重要。当你知道的时候,你应该考虑效率。