1 个不稳定版本
使用旧的 Rust 2015
0.0.1 | 2018 年 9 月 13 日 |
---|
#19 在 #tuning
18KB
434 行
调整你的 SmallVecs!
这是一个正在进行中的项目。欢迎提交问题和拉取请求!
你可以使用这个crate来获取关于你的代码如何使用SmallVec
的信息。它所做的是记录所有 SmallVec 构造、调整大小和销毁的日志,按数组大小排序。
日志中的每一行由以下组成:<item size>;<array size>;[+/-];<capacity>
,其中第一个是数组项类型的大小,第二个是数组大小(我们可以用这个来区分一个应用程序中的各种 smallvec 使用),第三个是+
表示新分配,-
表示释放,第四个是最终容量。
例如,创建一个 u8
类型的小型向量,扩展和丢弃它可能创建以下日志(此处为了清晰度进行了注释)
1;1;+;1 # create
1;1;+;100 # extend (allocate+deallocate)
1;1;-;1
1;1;-;100 # drop
许可证
用法
在你的 Cargo.toml
中,将你的 smallvec
依赖项替换为 smallvectune
。然后你需要将 use smallvectune::SmallVec
替换为 smallvec::SmallVec
。在 main
方法中调用 let _log = smallvectune::with_log()
也是一个好主意,否则一些条目可能会丢失。
调用你的代码时,你必须将 SMALLVECTUNE_OUT
环境变量设置为一个有效的写入路径。日志将在这里写入。
许可证
此项目受 Apache/2 或 MIT 许可证的约束,具体取决于您的选择。所有贡献也都在同一许可证下。
依赖项
~2MB
~30K SLoC