### Summary Adds the first pass at `#[gpui::bench]`, backed by Criterion, with a new `BenchAppContext` for GPUI benchmarks. This ports one editor benchmark to the new setup while keeping the existing Criterion render benchmarks in place. ### Follow Ups I eventually want to improve this framework to create custom tracy profiles that includes additional information such as - notify count - entity.update count and time - event emitted and time for that I also want to use this to create custom measurements so benches can be used for - Frames dropped - foreground thread time - Render time - etc This PR is a very small proof of initial concept and I'll continue to build this infrastructure out so Zed and other gpui apps can become a lot more resilient to dropping frames and hangs. Plus it will make improving performance a lot easier as well in the future. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
6 files changedLine totals unavailable