性能异常问询:代码完全相同的循环性能相差2倍
诡异的字符串缓冲区性能异常分享
嘿各位,我最近碰到个特别离谱的性能问题,必须来唠唠——本来我只是写了段代码,想测试下把字符串放进缓冲区的最快方式,结果没成想直接撞见了完全不符合预期的性能差异。
具体情况是这样的:
- 我写了三个测试方法:
slow、alpha和beta,其中**alpha和beta的代码是完全一模一样的**,连一行都没差 - 我跑了N次迭代的性能测试,结果惊到我了:
beta循环的耗时居然差不多是alpha循环的2倍 - 更邪门的是,哪怕我把
alpha和beta的代码内容交换一下,第三个执行的循环始终会比第二个循环慢2倍!
我翻来覆去检查了好几遍代码,确认两个方法的逻辑、实现完全没有区别,但这个2倍的性能差就像钉死在第三个循环上似的,实在搞不懂是什么原因。有没有大佬遇到过类似的情况,或者能给点排查方向呀?
内容的提问来源于stack exchange,提问作者PhilipRoman
相关产品推荐
相关产品推荐

