1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 00:17:46 +00:00

LibCore+LibGUI: Make it fast to check if a Core::Object is a Widget

This check happens very often in LibGUI code. 25% of time spent
layouting the emoji input dialog was wasted on RTTI. Adding a simple
fast_is<Widget>() melts almost all of that away.
This commit is contained in:
Andreas Kling 2022-09-30 17:59:41 +02:00
parent 1cff5fe2ff
commit 30815c25a2
2 changed files with 10 additions and 0 deletions

View file

@ -98,6 +98,11 @@ public:
virtual StringView class_name() const = 0;
template<typename T>
bool fast_is() const = delete;
virtual bool is_widget() const { return false; }
String const& name() const { return m_name; }
void set_name(String name) { m_name = move(name); }