2 个不稳定版本

0.11.0 2024年2月21日
0.10.0 2024年1月16日

#284 in 性能分析

每月 22 次下载
用于 tracy-gizmos

MIT/Apache

1MB
25K SLoC

C++ 25K SLoC // 0.1% comments Rust 351 SLoC // 0.0% comments

🧰 tracy-gizmos-sys

Latest Version MIT licensed Apache licensed API

概述

我们维护了 Tracy 公共部分的副本,因此我们可以将其构建为静态库,并且基于其公共头文件生成低级绑定。

我们使用 git-subtree 来完成这项工作,而不是子模块或手动复制。将来可能需要重新审视这一点,因为本地检出和1个复制命令可能更简单。

绑定

绑定是通过 bindgen 生成的,并作为 src/ 部分提交。它允许快速构建此 crate,而无需 LLVM(bindgen 需要 libclang 来完成其工作)。

tracy/ 更新时,应重新生成绑定

$ cargo clean && cargo build -F bindgen

初始设置

只需从 git 仓库根目录执行以下操作

# adding tracy remote and checking out its master in a staging branch
$ git remote add -f tracy-upstream [email protected]:wolfpld/tracy.git
$ git checkout -b staging-tracy tracy-upstream/master

# split off a subdirectory 'public' from its master into a separate branch
$ git subtree split --squash -P public --annotate="Tracy: " --rejoin -b tracy-public

# checkout our main and add 'public' parts above to our 'sys/tracy'
$ git checkout main
$ git subtree add -P sys/tracy --squash tracy-public

如何更新

只需从 git 仓库根目录执行以下操作

# switch back to the tracy's master and update it
$ git checkout staging-tracy
$ git pull tracy-upstream master

# update the subdirectory branch with changes received above
$ git subtree split -P public --annotate="Tracy: " --rejoin -b tracy-public

# checkout our main and merge new 'public' parts to update our 'sys/tracy'
$ git subtree merge -P sys/tracy --squash tracy-public

许可证

许可协议为以下之一:

您可选择。

请注意,此 crate 使用并嵌入的 Tracy 公共部分许可协议为 3-clause BSD 许可证

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中的任何贡献,都应如上双许可,而无需任何附加条款或条件。

无运行时依赖