From 1ab325900878dd41794d033bd30b49a6f14c937e Mon Sep 17 00:00:00 2001 From: Lucas Meurer Date: Wed, 30 Apr 2025 10:38:41 +0200 Subject: [PATCH] Add italic button benchmark to test `RichText` performance impact (#6897) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Time on my m4 pro macbook: 302.79 ns (vs 303.83 ns for the regular button 🤷) --- crates/egui_demo_lib/benches/benchmark.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/egui_demo_lib/benches/benchmark.rs b/crates/egui_demo_lib/benches/benchmark.rs index 331788c9..2b9a2cc0 100644 --- a/crates/egui_demo_lib/benches/benchmark.rs +++ b/crates/egui_demo_lib/benches/benchmark.rs @@ -4,7 +4,7 @@ use criterion::{criterion_group, criterion_main, BatchSize, Criterion}; use egui::epaint::TextShape; use egui::load::SizedTexture; -use egui::{Button, Id, TextureId, Ui, UiBuilder, Vec2}; +use egui::{Button, Id, RichText, TextureId, Ui, UiBuilder, Vec2}; use egui_demo_lib::LOREM_IPSUM_LONG; use rand::Rng as _; @@ -121,6 +121,15 @@ pub fn criterion_benchmark(c: &mut Criterion) { BatchSize::LargeInput, ); }); + group.bench_function("4_button_italic", |b| { + b.iter_batched_ref( + || create_benchmark_ui(ctx), + |ui| { + ui.add(Button::new(RichText::new("Hello World").italics())); + }, + BatchSize::LargeInput, + ); + }); }); }