13个版本
0.3.0 | 2021年12月25日 |
---|---|
0.2.4 | 2021年12月20日 |
0.1.6 | 2021年11月24日 |
0.1.4 | 2021年10月31日 |
2022年排名 嵌入式开发
每月下载量 43次
用于 5 软件包
23KB
302 行
嵌入式性能分析
一个针对无std
嵌入式环境的功能性轻量级框架。
文档
用法
初始化非常类似于log
软件包的初始化。默认情况下,有一个无操作分析器,直到你调用set_profiler
之前什么也不做。一旦安装了分析器,你的分析功能就会开始使用。
或者,如果你不想使用全局安装的分析器或处理dyn trait
对象的开销,你可以直接在实现该特性的结构上使用特性方法。
你可以手动开始和结束快照
let start = embedded_profiling::start_snapshot();
// (...) some expensive computation
let snapshot = embedded_profiling::end_snapshot(start, "name-of-computation");
// Optionally, log it
embedded_profiling::log_snapshot(&snapshot);
或者在闭包中分析一些代码
embedded_profiling::profile("profile println", || {
println!("profiling this closure");
});
使用过程宏
启用proc-macros
特性后,你可以简单地使用过程宏profile_function
注解目标函数。请注意,你必须首先使用set_profiler
函数设置分析器。
#[embedded_profiling::profile_function]
fn my_long_running_function() {
println!("Hello, world!");
}
示例项目与EmbeddedProfiler
实现
在feather_m4
开发板上提供了一个工作示例程序,可在embedded-profiling
github仓库中找到。这些示例使用一些实现了该特性的库,包括ep-systick
、ep-dwt
和ep-pin-toggle
。
最低支持的Rust版本 (MSRV)
本软件包保证在稳定版Rust 1.57及更高版本上编译。它可能可以与较旧版本兼容,但在任何新补丁版本中可能会发生变化。
许可证
本代码的许可证为以下之一
- Apache许可证,版本2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(《LICENSE-MIT》 或 http://opensource.org/licenses/MIT)
由您自行选择。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,将按照上述方式双重授权,没有任何附加条款或条件。
依赖项
约160–380KB