4个稳定版本
使用旧版Rust 2015
1.3.0 | 2020年6月27日 |
---|---|
1.2.1 | 2020年6月27日 |
1.2.0 | 2017年11月21日 |
1.0.0 | 2016年12月10日 |
#12 in #amd64
52每月下载量
在2个crate中使用 (通过 firestorm-core)
10KB
201 行代码
x86/x86_64计时器
这是一个低级CPU周期计数计时器。它返回的是处理器时间戳计数器中保持的值。这个计数器每经过一个CPU周期就会增加。
注意事项
当使用这个crate进行基准测试时,您需要确保CPU已设置为固定的倍数。这意味着Intel Turbo Boost必须关闭。您可以通过BIOS进行此操作。
这个crate需要Rust Nightly (因为它使用 llvm_asm!
宏),您需要启用 !#[feature(llvm_asm)]
。
函数
fn ticks() -> u64;
返回自CPU计数器上次回滚以来经过的CPU周期数。或者电源开启。
深入文档
此函数的逐步说明
#Intel Syntax
ldfence #cheapest fence on x86
#this prevents instruction re-ordering
#ensures all loads are complete
#on x64 this is done for you by the memory model
#so this fence is _free_
#this fence is here to prevent speculative
#execution of rdtsc.
rdtsc #puts timestamp counter values into the low
#32bits of rdx and rax.
shl rdx, $32 #move the high section, into the high 32bits of
#its register
or rax, rdx #combine bits
retq #leave function
许可协议
假设此crate的许可协议为MIT。
x86支持
这个crate实现了32位x86支持,但未经过测试。
无运行时依赖
~20KB