百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

cpuid

> 编程语言
开源

Go 的 CPU 功能识别

1.2K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

Go 的 CPU 功能识别

cpuid 包 cpuid 提供了有关当前程序运行的 CPU 的信息。CPU 特性在启动时即可检测到,并在应用程序的整个生命周期内保持可快速访问。目前支持 x86/x64(AMD64/i386)、ARM(ARM64)和 RISC-V(RV64),且不使用外部 C(cgo)代码,这应该使库的使用非常方便。

Homebrew

对于 macOS/Linux 用户,您可以通过 brew 安装。

bash
$ brew install cpuid

示例

…

示例输出:

>go run main.go
Name: AMD Ryzen 9 3950X 16-Core Processor
PhysicalCores: 16
ThreadsPerCore: 2
LogicalCores: 32
Family 23 Model: 113 Vendor ID: AMD
Features: ADX,AESNI,AVX,AVX2,BMI1,BMI2,CLMUL,CMOV,CX16,F16C,FMA3,HTT,HYPERVISOR,LZCNT,MMX,MMXEXT,NX,POPCNT,RDRAND,RDSEED,RDTSCP,SHA,SSE,SSE2,SSE3,SSE4,SSE42,SSE4A,SSSE3
Cacheline bytes: 64
L1 Data Cache: 32768 bytes
L1 Instruction Cache: 32768 bytes
L2 Cache: 524288 bytes
L3 Cache: 16777216 bytes
Frequency 0 hz
We have Streaming SIMD 2 Extensions

使用方式

cpuid.CPU 提供了对 CPU 功能的访问。使用 cpuid.CPU.Supports() 来检查 CPU 功能。 提供了一个更快的 cpuid.CPU.Has() 函数,通常会被 gc 编译器内联。 若要测试更多功能,可以使用 f := CombineFeatures(CMOV, CMPXCHG8, X87, FXSR, MMX, SYSCALL, SSE, SSE2) 等。 可以使用 cpuid.CPU.HasAll(f) 来快速测试是否支持所有功能。

请注意,对于某些 CPU/操作系统组合,某些功能可能无法被检测到。amd64 支持较好,在所有平台上都可可靠工作。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言