15
何时针对一种方法优化内存与性能速度?
我最近在亚马逊接受了采访。在编码会议期间,面试官问为什么我在方法中声明了变量。我解释了我的过程,他挑战我以更少的变量解决相同的问题。例如(这不是从采访),我开始与方法A然后提高它方法B,通过去除int s。他很高兴,并说这将通过这种方法减少内存使用。 我了解其背后的逻辑,但我的问题是: 什么时候适合使用方法A与方法B,反之亦然? 您可以看到,由于方法A被int s声明了,因此它将具有更高的内存使用率,但是它只需执行一次计算即可,即a + b。另一方面,方法B的内存使用量较低,但是必须执行两次计算,即a + b两次。什么时候比另一种使用一种技术?还是其中一种技术总是总是比其他技术更受青睐?评估这两种方法时要考虑什么? 方法A: private bool IsSumInRange(int a, int b) { int s = a + b; if (s > 1000 || s < -1000) return false; else return true; } 方法B: private bool IsSumInRange(int a, int b) { if (a + b …