Files
ghostty/src
Mitchell Hashimoto b1756b93b8 A couple significant performance improvements for styles (#3097)
To preface, I tested the impact of these changes by running
DOOM-fire-zig in a 120x30 window on a ReleaseFast build. I feel that
DOOM-fire-zig is a fairly realistic target when it comes to "high style
use" terminal applications.

1. By adjusting the conditions under which we swap items while inserting
in to our hash table in `RefCountedSet` we can prioritize styles with
many refs, so they're more likely to stay near their target bucket. This
change brought DFZ FPS from ~700 to ~840, or a roughly 20% improvement.
2. By changing how we hash `Style` structs, we can avoid a lot of
unnecessary overhead and benefit from smaller i-cache size as well as
xxHash's better statistical qualities when compared to Wyhash. This
change brought DFZ FPS from ~840 to ~1020, or another roughly 20%
improvement.

These two changes combined represent as roughly 45% improvement over
`main`, which is... pretty good I'd say.

In addition, I've run `vtebench` and there is no significant difference
in the results between this PR and main.
2024-12-23 19:43:47 -08:00
..
2024-03-26 16:14:25 -07:00
2024-12-22 07:25:10 -08:00
2024-12-16 10:56:27 -05:00
2024-08-16 10:49:37 -07:00
2024-08-16 10:57:19 -07:00
2024-06-24 15:16:24 -07:00
2024-09-26 22:00:11 -07:00
2024-10-18 08:11:11 -07:00
2024-08-31 11:12:40 -07:00
2024-02-09 20:05:11 +01:00
2024-08-16 14:35:10 -07:00
2022-08-18 11:42:32 -07:00
2024-08-16 10:36:10 -07:00