`

计数器

    博客分类:
  • java
 
阅读更多
public class LatencyTracker {

    private final AtomicLong opCount = new AtomicLong(0);
    private final AtomicLong totalLatency = new AtomicLong(0);
    private long lastLatency = 0;
    private long lastOpCount = 0;

    /**
     * takes nanoseconds *
     */
    public void addNano(long nanos) {
        // convert to microseconds.  1 millionth
        addMicro(nanos / 1000);
    }

    public void addMicro(long micros) {
        opCount.incrementAndGet();
        totalLatency.addAndGet(micros);
    }

    public long getOpCount() {
        return opCount.get();
    }

    /**
     * returns microseconds
     */
    public long getTotalLatencyMicros() {
        return totalLatency.get();
    }

    /**
     * returns microseconds
     */
    public double getRecentLatencyMicros() {
        long ops = opCount.get();
        long n = totalLatency.get();
        try {
            return ((double) n - lastLatency) / (ops - lastOpCount);
        } finally {
            lastLatency = n;
            lastOpCount = ops;
        }
    }

    @Override
    public String toString() {
        long average = totalLatency.get() / (opCount.get() + 1);
        return "LatencyTracker{" + "opCount=" + opCount + ", totalLatency=" + totalLatency + ", averageLatency=" + average + "}";
    }
}
分享到:
评论

相关推荐

    中断加减计数器 中断加减计数器

    中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断加减计数器中断...

    十三进制同步计数器_计数器_十三进制同步计数器_

    十三进制同步计数器是一种数字逻辑电路,主要用于在电子系统中进行计数操作,尤其在数字信号处理、计算机硬件和通信系统等领域有着广泛应用。它的工作原理基于二进制编码,能够实现从0到12的计数值循环,因为十三...

    模24计数器_quartusII_模24计数器_FPGAverilog_74390模24计数器_

    本项目以"模24计数器"为主题,通过Quartus II进行Verilog HDL(硬件描述语言)编程,旨在实现一个能从0计数到23(模24)并循环的计数器。74390是一种经典的集成芯片,常用于构建各种计数器结构,但在这里我们将使用...

    计数器及其应用实验报告

    计数器是数字系统中的重要组成部分,主要用于统计输入脉冲的数量。本次实验“计数器及其应用”旨在让学生掌握中规模集成计数器的逻辑功能和使用方式,并了解其扩展和应用。实验中使用的器材包括数字电子实验箱,以及...

    eda实验1000进制计数器

    1000进制计数器可以分解为三个独立的计数器:一个10进制计数器(用于个位),一个10进制计数器(用于十位),和一个更高位的10进制计数器(用于百位)。每个计数器内部都是由D触发器或者JK触发器等基本逻辑组件构成...

    环形计数器、扭环计数器(内含文档及verilog HDL代码)

    环形计数器和扭环计数器是数字系统中常用的一种移位型计数器,它们在逻辑设计和计算机硬件领域中扮演着重要角色。这两种计数器都是基于二进制位的移位操作来实现计数功能,但它们的结构和特性有所不同。 环形计数器...

    十进制加减计数器

    该计数器的设计目的是加深我们对常用集成计数器的功能理解及其应用,掌握利用集成计数器构成任意进制计数器的一般设计方法,学会利用 Proteus 软件对模 M 的可逆计数器电路进行仿真,掌握可逆计数器电路的安装及调试...

    录像机计数器问题计数器时间

    【录像机计数器问题】录像机计数器与时间的关系是一个重要的数学建模问题,涉及到物理学、工程学以及数学的结合。这个问题的核心是理解录像机的内部工作原理,特别是磁带的移动机制和计数器的读数机制。 首先,录像...

    流量计数器毕业设计.doc

    流量计数器毕业设计 流量计数器毕业设计是自动化生产过程中的一种重要组件,旨在精确分装物料,避免人为疏忽原因致使物料出现漏装或多装的现象。本设计采用红外传感器系统,利用红外光的关断原理进行计数,能够减少...

    ABB机器人如何更新转数计数器

    ABB机器人在特定情况下需要更新转数计数器,这是一项重要的维护任务,旨在确保机器人的定位精度和正常运行。更新转数计数器通常在以下几个情境下进行: 1. **更换伺服电机转数计数器电池**:电池失效可能导致计数器...

    模N计数器的verilog代码

    模N计数器是数字系统设计中的一个重要组成部分,特别是在Verilog这样的硬件描述语言(HDL)中,它被广泛用于实现各种计数和定时功能。Verilog是一种强大的工具,允许工程师用编程的方式描述数字逻辑,然后可以被综合成...

    微信小程序demo:触摸计数器(源代码+截图)

    微信小程序demo:触摸计数器(源代码+截图)微信小程序demo:触摸计数器(源代码+截图)微信小程序demo:触摸计数器(源代码+截图)微信小程序demo:触摸计数器(源代码+截图)微信小程序demo:触摸计数器(源代码+截图)微信...

    VHDL编写的16位计数器

    VHDL中的计数器通常由两种基本结构组成:同步计数器和异步计数器。同步计数器的计数状态在时钟边沿触发,而异步计数器则不受时钟边沿限制,允许在任何时候进行状态更新。16位计数器通常采用同步计数器设计,因为这种...

    Verilog 16位计数器

    在本话题中,我们主要探讨的是一个16位计数器的设计,该计数器采用了参数化设计方法。参数化设计是Verilog的一个重要特性,允许设计者在编写代码时定义可变的参数,从而实现模块的复用和灵活性。 1. **参数化设计...

    集成计数器实验报告.docx

    集成计数器是一种数字逻辑电路,常用于数字系统中实现计数或定时功能。在本实验报告中,主要探讨了两种常见的集成计数器——74LS90,并通过Multisim软件进行了功能测试和应用拓展。 74LS90是一款双四进制同步计数器...

    光电计数器课程设计.zip

    光电计数器是一种基于光电信号转换原理的设备,常用于测量物体的运动速度、频率或者脉冲数量。在这个“光电计数器课程设计”项目中,我们可以看到一个结合了微处理器技术、软件编程和实验验证的综合学习案例。下面将...

    proteus仿真,《数电实验》 60进制,24进制计数器,十二归一计数器

    本项目聚焦于使用Proteus进行《数电实验》,通过74LS163等集成电路实现60进制、24进制和十二归一计数器的设计与仿真,这些计数器是数字系统中常见的时序逻辑部件。 74LS163是一款4位二进制同步加法计数器,具备异步...

    verilog 十进制计数器

    在这个主题中,我们将深入探讨如何使用Verilog来实现一个十进制计数器。十进制计数器是一种能够从0计数到9然后回到0的电路,通常在数字系统中用于时间间隔的测量、频率分频或作为状态机的一部分。 1. **计数器的...

Global site tag (gtag.js) - Google Analytics