diff --git a/content/posts/newsletter-016/index.md b/content/posts/newsletter-016/index.md index a8e2a0fc0..e0b20bb6f 100644 --- a/content/posts/newsletter-016/index.md +++ b/content/posts/newsletter-016/index.md @@ -107,6 +107,32 @@ You can learn more [on the Learn Wgpu news page][learn-wgpu-news]. ## Library & Tooling Updates +### [profiling] + +This month, [profiling] was released on crates.io. This crate provides a very +thin abstraction over instrumented profiling crates like `puffin`, `optick`, +`tracy`, and `superluminal-perf`. + +Mark up your code like this: + +```rust +#[profiling::function] +fn some_function() { + burn_time(5); + + for i in 0..5 { + profiling::scope!("Looped Operation"); + burn_time(1); + } +} +``` + +And get visualizations like this (`optick` and `puffin` shown): + +[![Screenshot of Optick Profiler](optick-small.png)](optick.jpeg) + +[profiling]: https://crates.io/crates/profiling + ### [rkyv] [rkyv] is a zero-copy deserialization framework for Rust. It's similar to diff --git a/content/posts/newsletter-016/optick-small.png b/content/posts/newsletter-016/optick-small.png new file mode 100644 index 000000000..f159febf1 Binary files /dev/null and b/content/posts/newsletter-016/optick-small.png differ diff --git a/content/posts/newsletter-016/optick.jpeg b/content/posts/newsletter-016/optick.jpeg new file mode 100644 index 000000000..92b8d623f Binary files /dev/null and b/content/posts/newsletter-016/optick.jpeg differ