这其实是一个典型的对性能优化没有入门的提问。
性能优化的前提,是找到性能瓶颈。能理解这句话,你就已经一只脚踏到棺材板,哦不,踏到性能优化的门槛里了。
在这个回答里,For循环调用Api耗时,这是一个性能瓶颈,问题不大。
那接下来的方案是什么呢?
1 异步:如果你的API只是请求不用返回,异步调用是最简单的方式,如果你的API需要有返回,但只果不是同步的关系,你还是可以用异步。扔给一个线程程去解决就完事了。
2 批量:API的调用很大一部分在于TCP三次握手的链接,所以如果能够批次处理数据,那么性能提升杠杠的,当然,问题也在于是,如果出错了怎么办?
从这两个方案里能看出什么呢?
性能优化不是一个通用的方案,要结合实际业务场景,再给出对应的优化方案。
通用性的原则是最基础的,你需要的是在基础的性能优化方案之上,结合实际的应用场景,给出最合适的方案。
还有,性能优化是需要有优化目标的。这个道理如果能懂,那么你已经一半身子挤进来了。
为什么要有目标?因为目标不同,你的方案也不同啊。
比如说,你要从10秒优化到5秒,和优化到20MS,那方案肯定不一样。
就以这个方案为例,如果你非要20MS解决,那就拉专线嘛。
重新总结一下性能优化的三板斧,弄懂这个,你在性能优化的道路上可以越走越远了,这比掌握一两个技巧更重要。
1 性能优化的前提,是找到性能瓶颈。
2 性能优化不是一个通用的方案,要结合实际业务场景,再给出对应的优化方案。
3 性能优化是需要有优化目标的。
嗯,回答内容也会收录到黑塔职业规划小程序里去。