`

编程应该知道的操作延迟时间

阅读更多

 

 

记录系统等相关操作的时间,供在算法设计和架构设计中的时间延迟参考。

 

数据摘自《性能之巅——洞悉系统、企业与云计算》《大型网站架构技术—核心原理与案例分析》

 

注:在未提供机器配置的情况下,时间数据仅供比例参考,比较两个操作的轻重程度。

 

最新数据可参考:
http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html
总结:
     1)纳秒级操作:
          纳秒级:cpu计算cache访问
          10~100纳秒级:cpu访问内存
 
     2)微秒级操作:
           微秒级:内存读取1M数据
           百微秒级:
               (a)SSD读取1M数据
               (b)局域网ping 一台主机
               (c)Redis一次查询
 
     3)毫秒级操作
          毫秒级:机械硬盘读取1M数据
          10~100ms :
               (a) 广域网ping 一台主机
               (b)局域网数据库查询
 
     4)秒级操作
          访问一个网站
 
一 时间单位
单位
与秒对比

1 s

毫秒

1e-3   s

微妙

1e-6   s

纳秒

1e-9   s

皮秒

1e-12   s

 
二 系统延时
操作
耗时

1 cpu 周期

0.3 纳秒

L1 缓存访问

0.9 纳秒

L2 缓存访问

2.8 纳秒

L3 缓存访问

12.9 纳秒

主存访问(CPU访问DRAM

120 纳秒

固态硬盘IO

50~150 微妙

机械硬盘IO

1-10 毫秒

互联网:旧金山到纽约

40毫秒

互联网:旧金山到英国

81毫秒

互联网:旧金山到澳大利亚

183毫秒

TCP 包重传

1~3

OS虚拟化系统重启

4

SCSI 命令超时

30

硬件虚拟化系统重启

40

物理系统重启

5

 
三 常用操作响应时间

操作

响应时间

打开一个网站

几秒

数据库查询一条记录(有索引)

十几毫秒

机械磁盘一次寻址定位

4毫秒

机械磁盘顺序读取1MB数据

2毫秒

SSD磁盘顺序读取1MB数据

0.3 毫秒

从远程分布式缓存Redis读取一个数据

0.5 毫秒

从内存读取1MB数据

十几微妙

Java程序本地方法调用

微妙

网络传输2KB数据

1微妙

分享到:
评论
2 楼 ShihLei 2017-06-18  
zhangdong92 写道
最后一个表格,网络传输2KB,才1微秒吗?是不是应该是1毫秒?按上面的资料,局域网ping主机还需要百微秒呢


主要是引用伯克利的数据,2010 年是1微秒,今年又提升了,没有具体研究过他的测试环境,:https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html
1 楼 zhangdong92 2017-06-15  
最后一个表格,网络传输2KB,才1微秒吗?是不是应该是1毫秒?按上面的资料,局域网ping主机还需要百微秒呢

相关推荐

    CC算法求延迟时间和嵌入维数matlab仿真+代码仿真操作视频

    3.用处:用于CC算法求延迟时间和嵌入维数算法编程学习 4.指向人群:本硕博等教研学习使用 5.运行注意事项: 使用matlab2021a或者更高版本测试,运行里面的Runme_.m文件,不要直接运行子函数文件。运行时注意...

    达拉斯可编程延迟线

    ### 达拉斯可编程延迟线:精确定时与多功能应用 #### 核心知识点解析: 达拉斯可编程延迟线(DS1023...无论是高精度的时间延迟控制,还是灵活的编程方式,DS1023都展现了其作为先进定时元件的强大功能和广泛适用性。

    工业机器人编程操作(FANUC机器人)_PPT.rar

    《工业机器人编程操作(FANUC机器人)》教学资料涵盖了FANUC机器人系统的基本概念、编程语言、操作流程以及在实际工作中的应用。FANUC是全球知名的工业机器人制造商,其产品广泛应用于汽车制造、电子组装、物流搬运...

    Sinumerik 802SC操作编程手册(车床)

    根据给定的文件信息,以下是对“Sinumerik 802SC操作编程手册(车床)”中的关键知识点的详细解读: ### Sinumerik 802SC:数控系统概览 Sinumerik 802SC是西门子开发的一款高性能数控(Numerical Control,NC)系统...

    RT-Thread实时操作系统编程指南

    ### RT-Thread实时操作系统编程指南知识点总结 #### 一、实时系统概念 **实时系统**是一种特殊的计算机系统,其能够对外部事件或内部任务在指定的时间内作出响应。这类系统的特性在于时间敏感性,即系统必须能够在...

    工业机器人操作手册(包括机器人焊接编程)

    这部分内容对于延长机器人寿命、减少停机时间至关重要。 总的来说,《工业机器人操作手册(包括机器人焊接编程)》是一本实用的参考资料,不仅提供了理论知识,还强调了实践技能的培养,对于希望在工业机器人领域...

    C-C计算延迟时间和嵌入维数,c++延时,matlab

    在时间序列分析中,理解和计算延迟时间和嵌入维度是至关重要的步骤,特别是在复杂系统的研究中,如混沌理论和非线性动力学。本文将详细解释这两个概念,并通过C++和MATLAB这两种编程语言来探讨其应用。 首先,我们...

    802SC操作编程手册 铣床

    根据提供的信息,我们可以总结出以下关于西门子加工中心802SC铣床操作编程手册的重要知识点: ### 一、概述 #### 1.1 SINUMERIK 802S/C baseline - **简介**:SINUMERIK 802S/C baseline是西门子公司推出的一款...

    C++元编程和Boost编程库

    模板编程的另一个特点是延迟计算,即一些计算可以延迟到编译时进行,而不是在运行时。这有助于提前发现错误并减少运行时的性能开销。 总结来说,C++元编程和Boost编程库中的MPL是C++编程中非常强大的工具,它们利用...

    操作系统时间片轮转实验报告

    总的来说,这个实验提供了一个实践时间片轮转调度的平台,加深了对操作系统处理机调度策略的理解,并锻炼了编程和问题解决能力。未来的学习中,作者计划加强编程技能,通过更多上机实践和调试来巩固知识,同时保持对...

    精彩编程与编程技巧-怎样延迟一个VB程序?...

    在编程领域中,“延迟”通常指的是让程序暂停执行一段时间后再继续运行的功能。这种技术在很多场景下都非常有用,比如控制程序的执行节奏、模拟用户操作等。在Visual Basic(简称VB)这样的编程环境中实现延迟,可以...

    台达PLC编程手册 编程必备

    - **定时器的编号及功能[T]**:T用于时间延迟控制,实现定时功能。 - **计数器的编号及功能[C]**:C用于计数控制,如产品计数、故障次数统计等。 - **寄存器的编号及功能[D]、[E]、[F]**:用于存储数据,D为数据...

    Linux操作系统C语言编程(pdf)

    该书内容涵盖基础知识、进程管理、文件操作、时间概念、信号处理、消息管理、线程操作、网络编程以及C语言开发工具的使用等多个核心主题,旨在为开发者提供全面的Linux系统编程知识。 第一章“基础知识”讲解了在...

    89C51编程器

    7. **编程操作**:虽然代码中没有完整的擦除操作,但`erase()`函数的框架显示了一个擦除过程的开始,它会设置编程器引脚以执行擦除操作,并有一个简化的延时循环,这通常伴随着高电压脉冲来清除存储器内容。...

    获取网络时间校正本地系统时间,C++/MFC源码可运行

    在实际编程中,必须考虑到网络延迟、连接失败或服务器无响应等情况,因此错误处理机制是必不可少的。 9. **代码结构与设计模式** 使用MFC通常意味着遵循MFC的框架结构,比如使用消息映射、文档/视图架构等。此外...

    欧姆龙ZEN可编程继电器操作手册.rar

    通过阅读并理解这份欧姆龙ZEN可编程继电器的中文说明书,工程师和技术人员能够熟练地操作和编程ZEN继电器,实现高效的自动化控制。无论是初次接触还是经验丰富的用户,手册都是不可或缺的学习和参考工具。

    JUKI贴片机 编程 中文教程

    《JUKI贴片机编程中文教程》是一个专为初学者和进阶者设计的教育资源,旨在帮助用户克服英文障碍,轻松掌握JUKI贴片机的编程技术。JUKI贴片机作为电子制造领域广泛应用的自动化设备,主要用于SMT(Surface Mount ...

Global site tag (gtag.js) - Google Analytics