cpu 时间片消耗表|cpu消耗表
1秒=1000毫秒(ms)=1,000,000 微秒(μs)=1,000,000,000 纳秒(ns)=1,000,000,000,000 皮秒(ps)
1个CPU时钟周期=时钟频率 2GHz CPU=2000,000,000次每秒=20亿次/秒=时钟周期=(1/20亿)秒=0.5纳秒
cpu时间片的大小通常为10~100ms,在 Windows 操作系统上,一个时间片通常在十几毫秒(译者注:默认 15.625ms)
进程时间片:20ms
进程上下文切换:10ms
线程上下文切换 :3.8μs,这个分为同进程线程和非同进程线程他们时间不一样
中断上下文切换:很短
GC:对第0代执行一次垃圾回收时间不超过1ms
系统调用只是在进程内将用户态切换到内核态
L1的存取速度:4个CPU时钟周期大概2ns
L2的存取速度:11个CPU时钟周期大概5ns
L3的存取速度:39个CPU时钟周期大概20ns
RAM内存的存取速度:107个CPU时钟周期大概53ns
固态硬盘访问10-100us
机械硬盘访问1-10ms
SpinWait.SpinOnce 执行一次大概7个时钟周期(前20次),第一次比较耗时,第一次例外。
Interlocked函数:通常小于50CPU周期
Interlocked.MemoryBarrier函数:通常小于100CPU周期
用户模式和内核模式切换 :1000个CPU周期以上
Intel CPU每条sfence大约3ns,大约10个指令周期,每条lfence大约4ns,大约12个指令周期
编程是个人爱好