Sample和SingleShot之间的JMH差异

时间:2016-01-27 16:40:01

标签: java jmh

设置<?php if(is_shop()) echo '<div class="descriptif"> <p class="a1">Envie de l’authentique foie gras au marc de banyuls ou <br> un bon cochon confit miel gingembre et d’autres produits cuisinés par le chef ?! </p> <p class="a1">C’est le moment de vous faire plaisir !</p> <p class="a2">LE TERROIR « <em>MADE IN COTE SAISONS</em> » C’EST BIEN <em>ICI</em> !</p> <p class="a3">Le Chef <em>Nicolas Ventelon</em> vous propose une gamme de produits locaux offrir ou à déguster chez vous !</p> <p class="a4">Livraison en France métropolitaine par la poste entre 48 et 72h</p> <p class="a5">Les commandes sont traitées tous les jours excepté mercredi et jeudi.</p> </div>'; ?> Mode.Sample以及Mode.SingleShot设置为大号之间的区别是什么?它是否实际相同,或两种模式之间存在一些定量差异?

1 个答案:

答案 0 :(得分:7)

但是...... Javadoc非常明确地说明了这一区别?

  

采样时间:对每次操作的时间进行采样。

     

通过不断调用{@link Benchmark}方法运行,并随机抽样调用所需的时间。此模式会自动调整采样频率,但可能会忽略一些错过采样测量的暂停。此模式是基于时间的,它将一直运行直到迭代时间到期。

  

单次拍摄时间:测量单次操作的时间。

     

通过拨打{@link Benchmark}并测量其时间来运行。此模式可用于估算“冷”&#34;当您不想隐藏热身调用时,或者您想要查看从呼叫到呼叫的进度,或者您想要记录每个样本时的性能。此模式基于工作模式,仅对{@link Benchmark}方法的单次调用运行。

     

此模式的注意事项包括:

     
      
  • 通常需要更多的预热/测量迭代。
  •   
  • 如果基准很小,定时器开销可能很大;如果这是一个问题,请切换到{@link #SampleTime}模式。
  •