java代码的执行速度测试该如何去做?结果能相信吗?

有时为了测试两种不同解决方案A和B的执行速度,或将A、B放在循环中进行测试,常用System.nanoTime()方法,但结果往往让人不可理解。

比如A部分代码在前,B部分在后,显示B速度快,但若B部分代码在前而A在后,又会显示A速度快。

我能否相信速度测试的结果?或者我应该如何进行测试?谢谢专家指点。

下面是一个网友的帖子,遇到的是相同的问题,可参考一下。

您好!
我一般喜欢做整个应用的测试,而不是一段代码的测试,因为系统是整体的,特别是分布式系统,内部互相会影响,造成整体吞吐量欠佳。
测试的方式需要根据应用业务逻辑来制定,昨天也有网友问起了类似的问题,我会在今年下半年开始编写一本讨论软件开发架构、管理的书籍。