我最近开始使用JMH,并想知道是否有可能对其进行调试。
首先,我尝试像调试其他程序一样进行调试,但它抛出了“未初始化传输”,所以我无法以老式方式进行调试。
接下来,我尝试在互联网上搜索,并找到了有人说需要将forks设置为0才行,然后我尝试了一下,结果可行。
不幸的是,我仍然不太明白为什么fork会影响调试,或者fork如何影响我在JMH中看到的内容。 我目前所知道的只是,当您在OptionBuilder上放置.forks(number)时,它说明基准测试将在多少个进程上运行。 但是,如果我放置.forks(3),它会异步地在3个进程上运行每个@Benchmark方法吗?
关于.forks(number),.threads(number)如何改变基准测试的运行方式以及它们如何影响调试的解释将真正澄清问题。