文件名称:multiversion:Rust的简单功能多版本化
文件大小:37KB
文件格式:ZIP
更新时间:2024-05-28 10:51:09
rust simd macro multiversion cpu-features
多版本 Rust的函数multiversioning属性宏。 什么是函数多版本化? 许多CPU体系结构都有各种指令集扩展,这些扩展提供了附加功能。 常见的示例是单指令多数据(SIMD)扩展,例如x86 / x86-64上的SSE和AVX和ARM / AArch64上的NEON。 如果可用,这些扩展功能可以显着提高某些功能的速度。 不能随意将这些可选功能编译到程序中-执行不受支持的指令将导致崩溃。 函数多版本化是一种编译具有多个功能的功能的多个版本,并在运行时安全地检测要使用哪个版本的实践。 特征 使用运行时CPU功能检测进行动态调度 静态调度,避免重复检测嵌套的多版本函数的功能(并允许内联!) 支持所有功能,包括通用和async 例子 具有clone属性的自动函数多版本化,类似于GCC的target_clones属性: use multiversion :: multiversi
【文件预览】:
multiversion-master
----.gitignore(36B)
----LICENSE-MIT(1KB)
----multiversion()
--------LICENSE-MIT(14B)
--------README.md(12B)
--------Cargo.toml(751B)
--------tests()
--------LICENSE-APACHE(17B)
--------src()
----README.md(3KB)
----CHANGELOG.md(4KB)
----.github()
--------workflows()
----Cargo.toml(99B)
----LICENSE-APACHE(11KB)
----multiversion-bench()
--------Cargo.toml(287B)
--------src()
--------benches()
----multiversion-macros()
--------LICENSE-MIT(14B)
--------README.md(73B)
--------Cargo.toml(628B)
--------LICENSE-APACHE(17B)
--------src()